20

ビルド プロセスとは別に、単一の .cpp ファイルをコンパイルしようとしています。

フル ビルドを実行すると、プロジェクトの作成時に構成されたディレクトリにコンパイル ステップが出力されます。

ただし、コンパイルを要求しただけでは、オブジェクト ファイルがソースと同じディレクトリに移動することになり、さらに悪いことに、コンパイルを実行しているはずのオブジェクト ファイルが実行可能ファイルにリンクされます。

私はC++ 11用のclang ++でコンパイルしていますが、要求されていないリンクのためにClang ++.exeを2回呼び出す理由を妨げるものはないと思います。

編集1

ビルドするときはこれを行います

-------------- Build: Debug in GOTW (compiler: GNU GCC Compiler)---------------

clang++.exe -Wall -fexceptions  -g  -std=c++11 -stdlib=libstdc++    -c                
C:\Work\test\2010\C++11\CLang\GOTW\gotw.cpp -o obj\Debug\GOTW.o
clang++.exe  -o bin\Debug\GOTW.exe obj\Debug\GOTW.o    
Output size is 203.50 KB
Process terminated with status 0 (0 minutes, 11 seconds)
0 errors, 6 warnings (0 minutes, 11 seconds)

しかし、Compile Current Fileが実行されると、次のようになります。

clang++.exe -std=c++11 -stdlib=libstdc++    -c GOTW.cpp -o GOTW.o
1 warning generated.
clang++.exe  -o GOTW.exe GOTW.o   

2番目のステップを出力している理由と、ビルドのようにobjおよびbinディレクトリを使用する方法がわかりません

4

2 に答える 2

22

-cオプションを使用してください。

-c

上記のすべてとアセンブラを実行し、ターゲットの「.o」オブジェクト ファイルを生成します。

于 2013-05-22T17:13:46.710 に答える
3

g++ -c *.cpp .cpp を .o にコンパイルします

于 2013-05-22T17:15:34.027 に答える