我有一個c函數,我想使用,但編譯Intel
編譯器,而不是gnu
C
編譯器。我正在使用cmake
來構建該程序。 (我實際上使用的是ROS
,因此使用的是rosmake
,但基數是cmake
,所以我認爲它的問題比ROS
更多)。 假設使用icc
構建的文件是x.c
並生成x.s
文件。我想在我的文件y.cpp
中使用來自x.c
的功能a()
。 在y.cpp
我:鏈接一個.s文件與CMake
#include "x.h"
.....
call a()
,但其作品,如果CMakeLists.txt
有
rosbuild_add_executable(y y.cpp x.c)
rosbuild_add_executable is analogous to add_executable(...)
如果我建立x.c
與icc
並嘗試包括x.s
文件,而不是:
rosbuild_add_executable(y y.cpp x.s)
它不工作。我應該如何改變我在y.cpp
中撥打a()
的方式?或者有其他方式可以將它鏈接起來。
你知道關聯S文件與gcc一般? 像在makefile中一樣,它將沿着 .SYS:0 \t $(CROSS_COMPILER)gcc $(CFLAGS)-c $ <-o $ @ – Slava