我想在我的项目中添加动态配置路径(从pkg-config生成)。 (这基本上是针对像boost这样的第三方依赖项,因此工作区包含不合适,而文件系统既不包括因为硬编码而且每个开发人员都必须手动更改)
我在项目属性 - > c ++ general->路径和符号 - >包括tab-> add ...->添加目录路径 - >变量但我只能在现有变量中选择,如何创建从命令行程序动态生成的新变量?比如pkg-config --cflags boost-1.43
?
这在netbeans中很容易做到;你只需要在构建附加选项中添加带反引号的pkg-config命令行,它就可以解析构建包含,甚至在理论上它应该更新索引器(虽然说实话,上次索引器正在从pkg-config正确更新时) netbeans 6.8,它在6.9和6.9.1上被打破了)
我读过this StackOverflow post,但我仍然不确定它对这个具体案例有何帮助
我读somewhere你可以使用$(shell pkg-config ...)来生成环境变量,但不知道在哪里放置命令
如果没有简单易用的解决方案,我会尝试script in this blog post
不过,我正在使用eclipse helios -cdt 7谢谢!
答案 0 :(得分:3)
Pkg-config支持终于来到CDT,将于8月份完成。
http://code.google.com/p/pkg-config-support-for-eclipse-cdt/
答案 1 :(得分:3)
你可以在:
中使用$(shell pkg-config - cflags your_libs)Project properties->C/C++ Build->Settings->"Tools Settings" tab->**C Compiler**->Miscellaneous->Other Flags
和
你可以使用
$(shell pkg-config **--libs** your_libs)
在
Project properties->C/C++ Build->Settings->"Tools Settings" tab->**C Linker**->Miscellaneous->Other Flags
如果链接器没有链接,请确保(例如在构建控制台窗口中)pkg-config标志出现在要链接的对象之后。
你可以在属性中执行此操作 - > C / C ++ Build-> Settings->“工具设置”选项卡 - > C链接器 - >命令行模式移动${FLAGS}
到结束:
来自(例如):
${COMMAND} **${FLAGS}** ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} **${INPUTS}**
到此:
${COMMAND} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} **${INPUTS} ${FLAGS}**
答案 2 :(得分:2)
至少在eclipse 4.3.2中,看起来好像可以简单地添加
`pkg-config --libs <mylibname>`
在 项目 - &gt;属性 - &gt; C / C ++构建 - &gt;设置 - &gt; GCC {C | C ++}链接器 - &gt;杂项 - &gt;链接器标志
类似地
`pkg-config --cflags <mylibname>`
在 项目 - &gt;属性 - &gt; C / C ++构建 - &gt;设置 - &gt; GCC {C | C ++}编译器 - &gt;杂项 - &gt;其他标志
答案 3 :(得分:1)
项目 - &GT;属性 - &GT; c ++ build-&gt;构建变量
添加一个新的字符串类型变量。 无论你喜欢什么,都可以打电话:
UNITTEST_CPP_CXXFLAGS
然后设置为其值: $(shell pkg-config --cflags unittest-cpp)
转到项目属性 - &gt; c ++ general - &gt;路径和符号, 包括。 选择语言c ++,否则默认为汇编源文件。 单击添加。 在添加目录路径上,单击变量...(因为我们要添加我们刚刚创建的变量)
输入变量名称(UNITTEST_CPP_CXXFLAGS),按回车键确定
当你重建shell命令的结果被替换为-I选项时(至少对于gnu gcc工具链),通常pkg-config输出可能包含一个或多个-I,所以这不起作用。让我们转到c ++ build-&gt; settings-&gt;工具设置 - > gcc c ++ compiler-&gt;杂项。在那里,将$ {UNITTEST_CPP_CXXFLAGS}添加到其他标志。
现在将添加include,但是没有希望让索引器浏览那些include!
答案 4 :(得分:0)
在eclipse帮助中使用此链接/安装新的spftware。它安装pkg-config。 https://raw.githubusercontent.com/TuononenP/pkg-config.p2/master/site.xml 我确实在此网页中找到此链接。 https://groups.google.com/forum/#!topic/pkg-config-support-for-eclipse-cdt/HNblZRTKBQQ