Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/145.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake不编译具有非标准扩展名的文件 我有一个项目,它有自动生成C++代码文件的代码,这些文件是非标准的扩展(分别是ACPP和AH,用于生成源文件和头文件)。然而,这段代码并没有被编译,因为我在编译时遇到了链接器错误,这些错误在将文件从.acpp重命名为.cpp时消失 set(HEADER_FILES normal.h foo.ah ) set(SOURCE_FILES normal.cpp foo.acpp ) add_library(lib STATIC ${SOURCE_FILES} ${HEADER_FILES})_C++_Cmake - Fatal编程技术网

CMake不编译具有非标准扩展名的文件 我有一个项目,它有自动生成C++代码文件的代码,这些文件是非标准的扩展(分别是ACPP和AH,用于生成源文件和头文件)。然而,这段代码并没有被编译,因为我在编译时遇到了链接器错误,这些错误在将文件从.acpp重命名为.cpp时消失 set(HEADER_FILES normal.h foo.ah ) set(SOURCE_FILES normal.cpp foo.acpp ) add_library(lib STATIC ${SOURCE_FILES} ${HEADER_FILES})

CMake不编译具有非标准扩展名的文件 我有一个项目,它有自动生成C++代码文件的代码,这些文件是非标准的扩展(分别是ACPP和AH,用于生成源文件和头文件)。然而,这段代码并没有被编译,因为我在编译时遇到了链接器错误,这些错误在将文件从.acpp重命名为.cpp时消失 set(HEADER_FILES normal.h foo.ah ) set(SOURCE_FILES normal.cpp foo.acpp ) add_library(lib STATIC ${SOURCE_FILES} ${HEADER_FILES}),c++,cmake,C++,Cmake,在上述情况下,只编译normal.cpp,如果它调用foo.acpp中定义的函数,则会出现链接器错误 我已尝试使用: 列表(附加CMAKE\u CXX\u源文件\u扩展名acpp) 设置源文件属性(${SOURCE\u FILES}属性语言CXX) 添加定义(“-xC++”) 设置\u目标\u属性(库属性链接器\u语言CXX) 并研究了这些相关问题: 其他人用一点技巧解决了这个问题:我会看看,但我希望有更好的方法(不必依赖外部脚本语言)谢谢。你是对的,只是把它编辑成正确的,我是在没有自

在上述情况下,只编译normal.cpp,如果它调用foo.acpp中定义的函数,则会出现链接器错误

我已尝试使用:

  • 列表(附加CMAKE\u CXX\u源文件\u扩展名acpp)
  • 设置源文件属性(${SOURCE\u FILES}属性语言CXX)
  • 添加定义(“-xC++”)
  • 设置\u目标\u属性(库属性链接器\u语言CXX)
并研究了这些相关问题:


其他人用一点技巧解决了这个问题:我会看看,但我希望有更好的方法(不必依赖外部脚本语言)谢谢。你是对的,只是把它编辑成正确的,我是在没有自动完成的情况下用内存输入的。即使使用正确的语法,它也不起作用。这在过去对我很有效。如果您使用的生成器不符合此设置,它会添加适当的标志以将源代码编译为请求的语言。我建议您向CMake提交一个bug。否则,您只需使用
-xc++
在源文件上设置
COMPILE\u OPTIONS
属性。