我放弃了在 Xcode 中链接到 Boost Program Options,因为我无法让它工作。我想出了如何让标头被识别,但我对如何设置要在 Xcode 中链接的库的路径还不够熟悉。
去年我在大学里使用了 Boost 和 Eclipse,所以我想如果我只是在这个项目中使用 Eclipse,我可以更容易地解决它。我的程序看起来很像他们提供的示例(first.cpp)。如果您觉得需要查看源代码,我已将其加载到github 上。
别担心,我在 /usr/local/boost 中安装了 Boost:
new-host-2:$ ls | grep program_options
libboost_program_options.a
libboost_program_options.dylib
new-host-2:$ pwd
/usr/local/boost_1_49_0/stage/lib
我在项目 > 属性 > C/C++ 常规 > 路径和符号下通过以下方式为 Boost 配置了我的项目设置:包括:/usr/local/boost_1_49_0/ 库:boost_program_options 库路径:/usr/local/boost_1_49_0/stage/库
基于 Eclipse 控制台,您会认为它正确链接,因为我最后得到这个输出:
Building target: FizzBuzz
Invoking: Cross G++ Linker
g++ -L/usr/local/boost_1_49_0/stage/lib -o "FizzBuzz" ./Fizzbuzz.o ./main.o -lboost_program_options
Finished building target: FizzBuzz
**** Build Finished ****
但是,当我运行我的程序时,我得到一个对话框,上面写着:“无法启动” 选择无法启动,并且最近没有启动。
我尝试从命令行运行它,但没有运气:
new-host-2:$ ./FizzBuzz
dyld: Library not loaded: libboost_program_options.dylib
Referenced from: /Users/per001/Documents/workspace/FizzBuzz/Debug/./FizzBuzz
Reason: image not found
Trace/BPT trap: 5
如何设置它以在 Eclipse 中正确链接?或者甚至更好,Xcode?