2016-03-25 18 views
0

私はコンパイルにG ++ MinGWを使用しています。マイファイル:CMakeで生成されたMakefileにターゲットがありません

main.cppに、linkedList.cpp、linkedList.h

私のcmakeのファイル:

cmake_minimum_required(VERSION 2.8 FATAL_ERROR) 
set(CMAKE_LEGACY_CYGWIN_WIN32 0) 
project (Tutorial) 
set(CMAKE_CXX_FLAGS "-Wall -std=c++11") 
enable_testing() 

include_directories(include) 
add_executable(Tutorial 
main.cpp 
linkedList.cpp 
linkedList.h 
) 

add_test(Tutorial tutorial) 

生成されたMakefileからの正確なコンパイルエラー:

mingw32-make[2]: *** No rule to make target '../linkedList.h', needed by 'CMakeFiles/Tutorial.dir/main.cpp.obj'. Stop. 
mingw32-make[1]: *** [CMakeFiles/Tutorial.dir/all] Error 2 
mingw32-make: *** [all] Error 2 

Gist for CMake generated Makefile

+1

linkedList.hはヘッダーではなく、ソースファイルであるを実行します。それをソースファイルのリストから削除する – Garf365

+0

ありがとう、私はちょうど答えとしてstackoverflowのどこかでそれを見たので、私はそこにそれを追加することができたと思います。 – general656

+0

makefileを生成しても、どこでも 'linkedList.h'は言及されていません。 –

答えて

1

あなたの目標は、あなたのビルドディレクトリにない../LinkedList.h

ゴー、Tutorialで、

make Tutorial 
+0

「ターゲット」という言葉は、正確にはどういう意味ですか?また、私はこの理由でCMakeを使用しているので、私は現在Windows(ターミナルなし)を使用しており、Windowsで効率的にMakefilesを作成する方法を知りたいので、コマンドを実行する必要はありません。私はちょうどこのエラーがどういう意味か分かりません。 また、あなたは私の質問を誤解していると思います。私は "make ../LinkedList.h"を実行しませんでした。あなたが言うことならば、私はCMakeFileを作成してから、CMake GUIに行き、これらのエラーが表示されます。 – general656

+0

まず、Garf365が提案したものを試し、CMakeLists.txtから 'linkedList.h'を削除してください。そして、CMake-Guiを実行するのは、エラーが明確に示されているため、 'mingw32-make'がエラーを出すだけです。だから少なくともCMakeを実行した後、おそらくIDEなどを使ってコンパイルしています。 – usr1234567

関連する問題