2015-12-21 111 views
0

我正在嘗試將一個C++文件添加到工作的CMAKE項目中。用CMAKE編譯C++文件(無法識別'-rdynamic')

當項目中只有C文件時,該項目正在建設中。但是,只要我將一個cpp文件添加到CMakeLists.txtADD_EXECUTABLE部分,就會出現以下錯誤:arm-none-eabi-gcc: error: unrecognized command line option '-rdynamic'

有沒有人有任何想法可能會發生在這裏?或者我能做些什麼來解決它?

非常感謝您的幫助!

PS - 我在CMakeLists.txt的頂部有一個節表示SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # get rid of -rdynamic,但它似乎沒有這樣做。

+0

您是否嘗試對此錯誤消息進行搜索?另外,編譯器'arm-none-eabi-gcc'是否用於交叉編譯?如果是這樣,問題可能是您的工具鏈文件不提供CMake所需的全部信息。 – Tsyvarev

+0

是的,我嘗試使用Google搜索該消息,並沒有發現任何有用的東西。是的,編譯器可以交叉編譯。一切正常,直到我包含一個cpp文件。 – Eman

+0

然後給我們提供關於您的環境和代碼的更多信息:這是Linux還是MinGW? 'CMakeLists.txt' **以最簡單的形式**([mcve](http://stackoverflow.com/help/mcve)),工具鏈文件。 – Tsyvarev

回答

0

檢查armgcc.cmake(或等價物)。我在那裏找到一個名爲CMAKE_SYSTEM_NAME和CMAKE_SYSTEM的字段。這些需要重新命名爲'通用'。這爲我解決了這個問題。