2016-04-30 14 views
0

を使用して、Windows上のシステムライブラリが含まれており、リンクに:[cmakeの]どのようにこれは私のCPPコードですcmakeの

#pragma once 

#include <cstdio> 

int main(char** args, int size) 
{ 
    printf("aaaaa\n"); 
    return 1; 
} 

このコマンドを実行している私のCMakeLists.txt

cmake_minimum_required(VERSION 3.5) 
set(PROJECT_ROOT_PATH "./") 
add_executable(app ${PROJECT_ROOT_PATH}/app.c) 

私の手順のは、以下の通りです:

cmake -G "NMake Makefiles" ./ 
nmake 

nmakeを実行すると、次のようなエラーが発生します。

D:\Program_Filesx86\Microsoft Visual Studio 14.0\VC\include\cstdio(36): error C2054: expected '(' to follow 'using' [E:\cmake-test\app.vcxproj] 
D:\Program_Filesx86\Microsoft Visual Studio 14.0\VC\include\cstdio(36): error C2061: syntax error: identifier 'using' [E:\cmake-test\app.vcxproj] 

が空の機能を維持した場合:app.exeの

は私が含まれて指定されていませんでした問題です:

#pragma once 

int main(char** args, int size) 
{ 
    return 1; 
} 

NMAKEはRIGHと出力の実行可能ファイルを働くでしょうWindows SDKのライブラリですか? もしそうなら、どうすれば設定できますか?

答えて

1

ファイルcstdioには、C++固有のものが含まれている可能性があります。 C++はCのサブセットのスーパーセットなので、すべてのC++コードが有効ではありません。

CMakeは.cファイルをC言語でコンパイルします。

エラーの原因は、Cプログラミング言語では存在しないC++ usingステートメントです。

は、問題を解決するには、次のいずれか

  • #include <stdio.h>

または

  • .cppにファイルの名前を変更(それがコンパイルされるだろう(それがあったとして、およびCとしてコンパイル) C++として)
+0

正確に!それはあなたの助けのためにすごく素晴らしいです – Protoss

関連する問題