CファイルとC++ファイルの両方を使用するアプリケーションをコンパイルする方法を理解しようとしています。コード全体ではありませんが、アイデアを得るには十分です。
main.cpp:
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include "one.h"
#include "two.h"
int __stdcall WinMain(HINSTANCE hInst, HINSTANCE hInst2, LPSTR lpCmdLine, int nShowCmd) {
FunctionOne();
FunctionTwo();
}
one.cpp:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <gdiplus.h>
#include <gdiplusflat.h>
using namespace Gdiplus;
using namespace Gdiplus::DllExports;
int FunctionOne() {
}
two.c
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int FunctionTwo() {
}
ヘッダーファイルには、これらの関数の定義のみが含まれています。
これをmain.cppでコンパイルすると、FunctionTwoの「未解決の外部シンボル」が表示されます。これをmain.cでコンパイルすると、FunctionOneでも同じことがわかります。これも可能ですか?もしそうなら、プロジェクトを正しくコンパイルするように設定するにはどうすればよいですか(Visual Studio 2010)?
mainの拡張子に応じて代替関数をコメントアウトすると、正常にコンパイルされます。
ありがとう!