我是CMake的新手。我对CMake文件中的add_definitions
和set
感到很困惑。
例如,
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
和set(D_GLIBCXX_USE_CXX11_ABI,"0")
,有什么区别吗?我看到了不同的结果,但我无法理解。
第二个问题:D_GLIBCXX_USE_CXX11_ABI
这是做什么的?
感谢任何帮助。
非常感谢!
答案 0 :(得分:1)
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
将-D_GLIBCXX_USE_CXX11_ABI=0
标志附加到项目中的每个编译器调用中。
set(D_GLIBCXX_USE_CXX11_ABI,"0")
只需将名为D_GLIBCXX_USE_CXX11_ABI
的CMake变量设置为0
。您可能看不出任何区别,因为在代码的某处,它被用作add_definitions()
的值:
if(D_GLIBCXX_USE_CXX11_ABI)
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=${D_GLIBCXX_USE_CXX11_ABI})
endif()