Why is this project not linked?
there is main.cpp:
#include <stdio.h> extern "C" { void showm(void); } int main (void) { showm(); return 0; } There is fort.f90
subroutine showm print *, "fort " end subroutine showm I collect through cmake:
cmake_minimum_required(VERSION 3.4) project(main) enable_language(CXX) enable_language (Fortran) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") set(SOURCE_FILES main.cpp) set(FORTRAN_SOURCES fort.f90) add_library(F_OBJECTS_LIB ${FORTRAN_SOURCES}) add_executable(main ${SOURCE_FILES}) target_link_libraries(main F_OBJECTS_LIB) As a result, the linker gives an error:
/home/mk/clion-2016.1.1/bin/cmake/bin/cmake --build
/home/mk/.CLion2016.1/system/cmake/generated/proba-
c5f6dd60 / c5f6dd60 / Debug --target all - -j 2 [50%] Built target
F_OBJECTS_LIB Scanning dependencies of target main [75%] Building CXX
object CMakeFiles / main.dir / main.cpp.o [100%] Linking CXX executable
main CMakeFiles / main.dir / main.cpp.o: In function main ':
/ home / mk / Desktop / proba / main.cpp: 4: undefined reference to
showm () 'collect2: error: ld completed with return code
one
Please help me, what am I doing wrong.