Команде Cmake linker не удается создать исполняемый файл - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь скомпилировать бинарный файл Фортрана, который связывается с несколькими библиотеками, используя cmake.

add_executable(myexe 
               ${CMAKE_SOURCE_DIR}/source/myexe.cpp 
               ${CMAKE_CURRENT_SOURCE_DIR}/API/F90/mod.f
               ${CMAKE_CURRENT_SOURCE_DIR}/API/F90/main.f)
set_property(TARGET myexe PROPERTY LINKER_LANGUAGE Fortran)
target_link_libraries(myexe mylib1 mylib2)
install(TARGETS myexe DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)

mylib1 и mylib2 являются целями в одном проекте и компилируются без проблем.Однако компоновщик генерирует следующее предупреждение для myexe:

ifort: warning #10145: no action performed for file '/path/to/libmylib1.a'
ifort: warning #10145: no action performed for file '/path/to/libmylib2.a'

и make install завершается с ошибкой:

file INSTALL cannot find

      "/path/to/myexe"

Я исследовал link.txt, чтобы увидеть команду компоновщикаи я нахожу это:

/usr/local/bin/ifort   -c -lc++11 CMakeFiles/myexe.dir/__/source/myexe.cpp.o CMakeFiles/myexe.dir/API/F90/mod.f.o CMakeFiles/myexe.dir/API/F90/main.f.o  -o myexe -Wl,-rpath,/path/to/lib/install/ ../LIB1/libmylib.a ../LIB2/libmylib2.a

Что я могу сделать, чтобы исправить эту команду компоновщика и устранить мою ошибку?

Моя версия cmake:

cmake version 3.14.1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...