繁体   English   中英

CMake和非标准扩展

[英]CMake and non-standard extensions

我有一些C ++源代码,出于有效的原因,这些代码不会以“ .cpp”或“ .cc”或任何其他常见的C ++扩展名结尾。 我想用CMake将其编译成可执行文件。

我目前非常简单的CMake脚本是:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(test)

SET_SOURCE_FILES_PROPERTIES(test_mycode.foo PROPERTIES LANGUAGE CXX)

ADD_EXECUTABLE(test test_mycode.foo)

据我了解,SET_SOURCE_FILES_PROPERTIES(...)应该足以使Cmake将“ test_mycode.foo”识别为C ++文件。 但是,当我尝试编译时,它失败并显示以下错误:

/usr/bin/c++ -o CMakeFiles/test.dir/test_mycode.foo.o -c test/test_mycode.foo

c++: test/test_mycode.foo: linker input file unused because linking not done

我在这里做错了什么?

谢谢!

据我所知,CMake已将您的文件用作c ++,但gcc却没有。 您还必须告诉CMake向编译器添加额外的标志(在此处查看:-x选项的http://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html ),以便将文件视为c ++代码。

无论如何,恕我直言CMake应该自动执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM