2017-01-06 6 views
0

CMakeを使ってC++プロジェクトを作成しています。私は... JSONで書かれたデフォルト設定をパッケージ化すると、アプリの中から、私は、ファイルを取得することができなかったことへのアクセスC++コードからパッケージ/バンドルされたファイルにアクセスできますか?

コード:

string filename = "settings.json" 
ifstream in(filename, std::ios::in); 

string line, jsonString; 
while(std::getline(in, line)) { 
    jsonString += line + "\n"; 

    *text = jsonString; 
} 

CMakeの:

add_custom_command(
     TARGET ${EXE_NAME} 
     POST_BUILD 
     COMMAND ${CMAKE_COMMAND} -E copy 
     ${PROJECT_SOURCE_DIR}/settings.json ${PROJECT_BINARY_DIR}/${EXE_NAME} 
     ) 

私は問題がおそらく経路にあると思っていますが、解決できませんでした。

+0

このカスタムポストビルドコマンドを実行した後、ファイル 'settings.json'はビルドフォルダにコピーされません。 – drescherjm

+0

私は混乱しました..成功しませんでした...ファイル "" /Users/***/settings.json "を" /Users/***/cmake-build-debug/***.app "にコピー中にエラーが発生しました/ " make [3]:*** [***。app]エラー1 make [3]:***ファイル '***。app'を削除する[2]:*** [CMakeFiles/***。app .dir/all]エラー2。 make [1]:*** [CMakeFiles/***。app.dir/rule]エラー2' – morizotter

答えて

0

あなたはこのためにconfigure_fileを使用することができます:あなたはそれを変更する場合、これは再度ファイルをコピーします

configure_file(settings.json settings.json COPYONLY) 

関連する問題