私はCMakeには新しく、スクリプトの作業をするのは本当に難しいようです。私のコードは普通の方法でコンパイルすることができますが、私は本当にCMakeを使う必要があります。私は次のようにコンパイル:私のために動作しませんCMake for FortranとC++の使い方は?
g++ vectc.cpp -c -std=c++11
gfortran vectf.f vectc.o -lstdc++
このCMakeLists.txt、:
cmake_minimum_required (VERSION 2.6)
project (add_vectors CXX Fortran)
enable_language(Fortran)
set(CMAKE_CXX_FLAGS "-c -std=c++11")
set(CMAKE_Fortran_FLAGS "CMakeFiles/executable/vectc.o -lstdc++")
add_executable(executable
vectc.cpp
vectf.f)
私は私は、次を得るcmakeの後にmakeを実行し、私は本当に何を知らない場合する:
[ 33%] Linking CXX executable executable
c++: warning: CMakeFiles/executable.dir/vectf.f.o: linker input file unused because linking not done
c++: warning: CMakeFiles/executable.dir/vectc.cpp.o: linker input file unused because linking not done
[100%] Built target executable
誰でも私を助けることができますか?
編集: コメントは、私はよく尋ねなかった。私はCmakeにはかなり新しく、なぜ私は警告を受けたのかわかりません。また、私は私の "実行可能"ファイルが見つかりませんでした。そのリンカー嗜好は、Fortranリンカーよりも高いので、混合言語ソース(CXX、フォートラン)の場合
CXXリンカーをCMakeので使用される:
どうしたのですか?実行可能ファイルはビルドされていませんか?私はどんな誤りも見ない。 –
実行ファイルがどこにあるのか尋ねていますか? –
'CMAKE_Fortran_FLAGS'に' CMakeFiles/executable/vectc.o'は必要ありません。あなたが 'add_executable'ステップで依存関係を指定するのと同じです。 –