我正在从CMakeLists.txt调用Makefile。 CMakeLists.txt编译一个打印“Hello world”的main.cpp文件,并调用Makefile。 Makefile编译一个打印“Test”的test.cpp文件。代码很好。我在使用Makefile构建test.cpp时检查了它。
问题在于我正在尝试构建CMakeLists.txt。 “main”输出工作正常,但“test”输出引发异常:
“分段错误(核心转储)”。
这是Makefile代码:
all:
g++ -shared -fPIC -o test test.cpp
这是CMakeLists.txt代码:
cmake_minimum_required(VERSION 3.5)
project(Call_Makefile_From_CMake)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(FullPath "/home/orz/ClionProjects/Call_Makefile_From_CMake")
add_custom_command(
OUTPUT ${FullPath}/Test/test
COMMAND make -f test.mk
WORKING_DIRECTORY ${FullPath}/Test
)
add_custom_target(
extern_lib
DEPENDS ${FullPath}/Test/test
)
add_executable(Call_Makefile_From_CMake main.cpp)
target_link_libraries(Call_Makefile_From_CMake ${FullPath}/Test/test)
add_dependencies(Call_Makefile_From_CMake extern_lib)
感谢帮助者。
答案 0 :(得分:0)
我试着解决这个问题两天五分钟后我在这里寻求帮助我解决了它。
我删除了
target_link_libraries(Call_Makefile_From_CMake ${FullPath}/Test/test)
行,它解决了问题。现在它工作得很好。