我有一个Eclipse CDT项目,配置为生成make文件。
我目前正在Windows上开发,我的构建服务器正在运行Linux。
make文件在我的本地机器上构建良好,但我有两个预先构建的外部依赖项:boost和ZeroMQ。这两个都有一个include目录,一个lib目录和一个相关的dll /。
如何配置项目,以便生成的make文件可以具有在make make时解析的不同BOOST_HOME或ZMQ_HOME变量(而不是烘焙到make文件中)。
答案 0 :(得分:5)
CDT生成的Makefile包括以下几行:
-include ../makefile.init
...
-include ../makefile.defs
...
-include ../makefile.targets
也就是说,你可以添加例如项目根目录中的makefile.defs
来控制构建。
JeffV编辑: 我添加了一个makefile.init:
BOOST_HOME = C:\code\boost_1_48_0
ZMQ_HOME = C:\code\zmq\zeromq-2.1.11
在项目设置“Build Variables”配置中,我还添加了以下条目:
BOOST_HOME = $(BOOST_HOME)
ZMQ_HOME = $(ZMQ_HOME)
这会导致eclipse替换$ {BOOST_HOME},它在我的lib中包含路径,并且在make文件中包含$(BOOST_HOME)变量。
这允许我在每个构建平台上拥有特定于平台的makefile.init版本。