나는 사용하고자하는 c 함수가 있지만 gnu
C
컴파일러 대신 Intel
컴파일러로 컴파일되었습니다. 나는 프로그램을 만들기 위해 cmake
을 사용하고있다. (나는 실제로 ROS
을 사용하고 있으므로 rosmake
이지만베이스는 cmake
이므로 ROS
문제보다 더 많은 cmake 문제가 있다고 생각합니다.) icc
으로 빌드 된 파일이 x.c
이고 x.s
파일을 생성한다고 가정하십시오. 내 파일 y.cpp
에서 x.c
의 a()
함수를 사용하고 싶습니다. y.cpp
에서 내가 가진 : CMakeLists.txt
이CMake와 .s 파일 연결하기
rosbuild_add_executable(y y.cpp x.c)
rosbuild_add_executable is analogous to add_executable(...)
이있는 경우 작동하지만 내가 icc
와 x.c
을 구축하려고하면 대신 x.s
파일을 포함하도록
#include "x.h"
.....
call a()
가 :
rosbuild_add_executable(y y.cpp x.s)
그것은 나던 작업. 내가 전화하는 방식에 어떤 변화가 있습니까 a()
y.cpp
에 있습니까? 또는 그것을 연결하는 다른 방법이 있습니다.
일반적으로 S 파일을 gcc와 연관시키는 방법을 알고 있는가? ? makefile과 마찬가지로 .S.o : \t $ (CROSS_COMPILER) gcc $ (CFLAGS) -c $ <-o $ @ – Slava