0

私の CMakeLists.txt ファイルは次のようになります。

project(DeadWeight)

# Versioning
set (DeadWeight_VERSION_MAJOR 0)
set (DeadWeight_VERSION_MINOR 1)

SET( DEBUG_BUILD 1 )
ADD_DEFINITIONS( -DDEBUG )
SET(CMAKE_BUILD_TYPE Debug)

cmake_minimum_required(VERSION 2.8)

file(GLOB DEADWEIGHT_SRC ./src "*.cpp")    

add_executable(${PROJECT_NAME} ${DEADWEIGHT_SRC})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE CXX)

これを QtCreator にロードして CMake を実行すると (エラーなしで完了します)、QtCreator ビューでソース フォルダーを開くことができません。ソース フォルダをクリックすると、「読み取り用に開くことができません。アクセスが拒否されました」と表示されます。問題のフォルダーへの読み取り/書き込みアクセス許可があると確信しています。ソースファイルを間違ってグロブしている場合、誰か指摘してもらえますか? それとも私は何か他のことを間違っていますか?これは CMake エラーですか、それとも QtCreator の問題ですか?

編集: また、ビルドが失敗して、MSVC++ 9 コンパイラからの「ソース ファイル名が見つかりません: ファイルが見つかりません」というエラーが表示されます。

4

1 に答える 1

1

あなたのfileコマンドは確かに問題です。あなたはおそらく次のことを意味していました:

file(GLOB DEADWEIGHT_SRC src/*.cpp)

余談ですが、単一構成の IDE (QtCreator など) の場合、通常は CMakeLists.txt ではなく、コマンド ライン / cmake gui からビルド タイプを Debug に設定します。マルチ構成 IDE (MSVC など) の場合、IDE 内から設定されます。

また、リンカ言語を明示的に設定する必要はおそらくありません。「.cpp」ファイル拡張子から自動的に推測されるはずです。

于 2013-02-16T21:26:14.717 に答える