不需要的选项传递给编译器

时间:2013-12-28 14:34:00

标签: gcc cmake avr

我目前将所有AVR(微控制器)项目从丑陋的Makefiles移植到(好吧,有点不那么难看)CMakeLists。我的问题是,即使我在没有CMake默认值的情况下定义CMAKE_C_FLAGS,仍会传递一些不需要的参数。

CMakeLists.txt片段:

set(CMAKE_C_FLAGS "-std=c99 ...")

我希望现在CMake会像这样调用编译器:

gcc -std=c99 ... <input files> -o <output file>

会发生什么(make VERBOSE=1):

gcc  -std=c99 ...  <some input files> -o <output> -rdynamic

-rdynamic是如何到达那里的?如果目标的gcc会支持它,我会忽略它,但因为它不知道-rdynamic选项......好吧我有点搞砸了......

1 个答案:

答案 0 :(得分:2)

这是已知问题。尝试添加:

set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")