c – 将旧的makefile转换为CMake

c – 将旧的makefile转换为CMake,第1张

概述我试图将我的旧的makefile代码转换为CMake.你可以帮我吗?这是我目前卡住的部分.我不知道如何将这些参数传递给编译器. COMPILE_FLAGS = -c -m32 -O3 -fPIC -w -DSOMETHING -Wall -I src/sdk/coreifdef STATIC OUTFILE = "bin/test_static.so" COMPILE_FLAG 我试图将我的旧的makefile代码转换为CMake.你可以帮我吗?这是我目前卡住的部分.我不知道如何将这些参数传递给编译器.
COMPILE_FLAGS = -c -m32 -O3 -fPIC -w -DSOMETHING -Wall -I src/sdk/coreifdef STATIC    OUTfile = "bin/test_static.so"    COMPILE_FLAGS_2 = ./lib/ABC.aelse    OUTfile = "bin/test.so"    COMPILE_FLAGS_2 = -L/usr/lib/MysqL -lABCendifall:    g++ $(COMPILE_FLAGS) src/sdk/*.cpp    g++ $(COMPILE_FLAGS) src/*.cpp    g++ -fshort-wchar -shared -o $(OUTfile) *.o $(COMPILE_FLAGS_2)    rm -f *.o

谢谢!

解决方法 让Makefile语法映射到CMake:
COMPILE_FLAGS = -c -m32 -O3 -fPIC -w -DSOMETHING -Wall -I src/sdk/core

此声明直接映射到:

SET( COMPILE_FLAGS "-c -m32 -O3 -fPIC -w -DSOMETHING -Wall" )INCLUDE_DIRECTORIES( src/sdk/core )

有条件的类型:

ifdef STATIC  # Do somethingelse  # Do something elseendif

以这种方式翻译成CMake:

OPTION(STATIC "BrIEf description" ON)IF( STATIC )  # Do somethingELSE()  # Do something elseENDIF()

要修改默认编译标志,您可以适当地设置变量CMAKE_< LANG> _FLAGS_RELEASE,CMAKE_< LANG> _FLAGS_DEBUG等.

最后编译一个可执行文件需要使用ADD_EXECUtable命令,这在很多CMake教程中都有介绍.

无论如何,我建议您参考在线documentation了解更多详细信息,因为这是非常明确和完整的.

总结

以上是内存溢出为你收集整理的c – 将旧的makefile转换为CMake全部内容,希望文章能够帮你解决c – 将旧的makefile转换为CMake所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1254884.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存