我有一个使用automake和autoconf的C++项目。我对这两个都不熟悉。我的主目录是网络安装的——在我们拥有的每台服务器上都是一样的——我想在不同的机器上同时编译和运行项目(及其可执行文件)。我们的服务器通常采用不同的架构。我的桌面是32位的,但是服务器是64位的等等。我在configure.ac和Makefile.am中使用什么选项来编译以机器架构命名的单独目录中的目标文件?在常规Makefile中执行此操作相对简单,但我不知道如何设置autotools。 最佳答案 如果你在你的configure.ac和Makefile.
我目前有一个用C++编写的库,使用GNU自动工具构建,我想向它添加一个Python接口(interface)。我使用SWIG开发了界面,但我在弄清楚如何将Python模块的编译与其余过程集成时遇到了一些问题。我已经查看了AM_PATH_PYTHON,但是这个宏似乎没有为Python.h设置包含路径,所以当我编译我的模块时,我得到了一堆关于缺少包含文件的错误。有没有办法从AM_PATH_PYTHON中获取Python包含路径和ldflags?仅作记录,我认为不可能使用Python的distutils方法(setup.py),因为这需要库的位置才能链接新模块。由于该库在编译时尚未安装,我将
我正在寻找在配置脚本上指定主机时可以使用的有效参数列表。例如我可以这样做:./configure--host=alpha-netbsd这将设置平台和系统,但还有哪些其他选项?(我还应该说明我在OSX上)。 最佳答案 虽然迟到了且问题不完整,但希望它仍然可以帮助某人。这些不是所有可能的--host参数值(配置名称)的有限列表。组合基本上是无限的,因为autoconf实现了对配置名称的识别(猜测)。您可以阅读autoconf手册中的以下部分:Autoconfmanual-section26.CrossCompilationwithGNU
我有一组cpp文件,我想直接编译成二进制文件,也想编译成共享库。我有bin_PROGRAMS=mybinlib_LTLIBRARIES=libmylib.laCOMMON_SOURCES=f1.cppf2.cppf3.cppmybin_SOURCES=main.cpp$(COMMON_SOURCES)libmylib_la_SOURCES=$(COMMON_SOURCES)当我运行它时,cpp文件被编译两次,一次使用libtool,一次不使用,有时libtool/automake会报错Makefile.am:object`f1.$(OBJEXT)'createdbothwithlibt
我正在尝试在Windows上构建一个Linux开发的库。该库需要glib和gdk库之一。虽然我可以找到大多数依赖库的32位Windows二进制文件,但我更愿意自己编译所有内容。我在Linux上的C/C++经验很少,但我已经想通了./configure需要得到大部分由平台不兼容引起的编译错误。不幸的是,所有的包都有一个不能真正在Windows上运行的configureshell脚本。我已经为Windows安装了autoconf,希望从configure.ac创建一个Windowsconfigure脚本,但是Windowsautoconf是还有一堆不能真正在Windows上运行的shell
我想构建Linphoneandroid项目。我已经下载了项目,但无法按照README中给出的说明进行操作。不知道如何在Windows机器上安装autotools。如果有人有任何想法,请帮助我安装这些工具。 最佳答案 安装MingW或Cygwin:http://cygwin.com/install.html您可以选择要安装的包。 关于windows-如何在Windows机器上安装autotools(autoconf、automake、aclocal、libtoolizepkgconfig)
不幸的是,我在为ARMv6架构交叉编译Git时遇到困难。但在我开始描述我所采取的步骤和我输入的命令之前,我应该简要描述一下构建环境:我在Ubuntu12.1064位上进行交叉编译。交叉编译器安装到/home/my_name/cctoolchain(该目录包含bin/、lib/等)。我首先从here获取Git1.8.2.解压目录后我运行:exportPATH=$PATH:/home/my_name/cctoolchain/bin我还运行了autoconf以确保./configure是最新的。然后我调用了./configure如下:./configure--prefix=/home/my_
不幸的是,我在为ARMv6架构交叉编译Git时遇到困难。但在我开始描述我所采取的步骤和我输入的命令之前,我应该简要描述一下构建环境:我在Ubuntu12.1064位上进行交叉编译。交叉编译器安装到/home/my_name/cctoolchain(该目录包含bin/、lib/等)。我首先从here获取Git1.8.2.解压目录后我运行:exportPATH=$PATH:/home/my_name/cctoolchain/bin我还运行了autoconf以确保./configure是最新的。然后我调用了./configure如下:./configure--prefix=/home/my_
我正在编写一个C++程序,使用gtkmm作为窗口库,使用autotools作为我的构建系统。在我的Makefile.am中,我按如下方式安装图标:icondir=$(datadir)/icons/hicolor/scalable/appsicon_DATA=$(top_srcdir)/appname.svg编辑:从prefix更改为datadir这导致appname.svg在安装程序时被复制到$(datadir)/icons/hicolor/scalable/apps。在我的C++代码中,我想在运行时访问窗口装饰的图标:stringiconPath=DATADIR+"/icons/hi
我正在编写一个C++程序,使用gtkmm作为窗口库,使用autotools作为我的构建系统。在我的Makefile.am中,我按如下方式安装图标:icondir=$(datadir)/icons/hicolor/scalable/appsicon_DATA=$(top_srcdir)/appname.svg编辑:从prefix更改为datadir这导致appname.svg在安装程序时被复制到$(datadir)/icons/hicolor/scalable/apps。在我的C++代码中,我想在运行时访问窗口装饰的图标:stringiconPath=DATADIR+"/icons/hi