什么是Boost Jam,Jam是否值得迁移?
我知道果酱是由perforce构建的构建系统但是我不确定增压堵塞和常规堵塞是如何不同的.
我也希望SO社区中有人可以使用它,也许可以突出一些差异和/或好处.
我想重新编译我们的boost库,但是使用了-g,启用了调试标志.我一直在阅读,看到我们建立了提升jam.虽然我make很清楚,但我jam一直都没有,而且我的挫败感越来越大.
我理解Jam构建现有项目,CMake生成要构建的项目.但是,鉴于我宁愿生成可以在各种IDE中使用的项目,而不是尝试将Jam集成到那些IDE中,有没有人有任何经验/成功将Jamfile转换为CMakeLists.txt文件?
我正在尝试构建一个googletest单元测试,作为我们可能使用的新单元测试框架的概念证明.在googletest中,有两种方法可以编写单元测试:使用main或没有main.如果你没有定义一个main,你可以链接到gtest_main库,它包含一个main()函数,为你节省一些时间.在我的环境中,我们使用Jam来构建二进制文件.我已经用我的代码中的main()编译二进制文件并使用libgtest库,但我正在寻找如何在没有main的情况下在Jam中构建它.
基本情况(带main()函数):
我可以用这个构建一个二进制文件:
Main MyUnitTestBinary : MyClass.cpp ;
LinkLibraries MyUnitTestBinary : libgtest ;
Library libgtest : $(GTEST_DIR)/src/gtest-all.cc ;
Run Code Online (Sandbox Code Playgroud)
破壳(没有main()函数):
我无法用这个构建二进制文件.当我尝试链接对象时,我看到很多错误:
Main sample1_unittest : sample1.cc sample1_unittest.cc ;
LinkLibraries sample1_unittest : gtest_main ;
Library gtest_main : $(GTEST_DIR)/src/gtest_main.cc ;
Run Code Online (Sandbox Code Playgroud)
我得到许多与未定义的引用相关的链接错误.未定义的引用似乎来自于test :: internal命名空间,它不是我的代码的一部分.
有关如何攻击这个问题的任何想法,或者寻找有关问题的更多线索?
jam ×4
bjam ×3
boost ×1
build-system ×1
c++ ×1
cmake ×1
googletest ×1
migration ×1
unit-testing ×1