我想强制CMake在包含路径(-I...
)方面提供详细程度。考虑当前输出:
/D/Software/MinGW/bin/g++.exe -DQT_DEBUG -fmessage-length=0 -mfpmath=sse -msse2 -fopenmp -g3 -gdwarf-2 @CMakeFiles/go.dir/includes_CXX.rsp -o CMakeFiles/go.dir/main.cpp.obj -c /D/Users/Haroogan/Development/Workspace/New2/main.cpp
无处不是显示包含路径列表,而是显示@CMakeFiles/go.dir/includes_CXX.rsp
。实际上,此文件包含包含路径。
如何强制CMake或Make或其他任何输出包含路径?
答案 0 :(得分:2)
使用Unix Makefile时(你看起来很像),你可以通过输入来获得完整的命令行标志,
make VERBOSE=1
我认为其他一些生成器也有一个可以设置的缓存变量。
答案 1 :(得分:2)
设置(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 0)
答案 2 :(得分:1)
参数@CMakeFiles/go.dir/includes_CXX.rsp
实际上是传递给编译器的内容,然后编译器读取此文件并将其解释为选项列表。有关此机制的说明,请参阅man gcc。
使用该机制是因为MS Windows上的shell对命令行的长度有限制,在复杂的编译调用中很容易超出。因此,使用文件传递参数更安全