プロが教える店舗&オフィスのセキュリティ対策術

VisualC++6.0で、新規作成→win32 Dinamic-Link Libraryでプロジェクト
を作成し、dllファイルを作っています。
今までは、上手くコンパイル出来て、dllを作れていました。
友人の作ったライブラリにリンクして、ソースファイルで
そのライブラリの関数を使って、コンパイルすると、

LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。

というエラーが出て困っています。
今、プロジェクトの設定→リンク→アウトプットの
エントリポイントシンボルはDllEntryPoint@12となっています。
どうしたら良いでしょうか?
どなたかご教授くださると助かります。

ちなみに、ライブラリの関数をコメントにすると、コンパイル出来ます。

A 回答 (2件)

もう一つ、書くの忘れてました。



exeを作るプロジェクトにした時、main()関数が無くて
>LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です。
が出てるんなら、main()を書かないと駄目ですよ。
    • good
    • 0
この回答へのお礼

プログラムに

void main(){}

と付け加えると、コンパイルできました。
ありがとうございました。

お礼日時:2006/02/13 00:24

DLL(ライブラリ)を作ってるプロジェクトだと、main()関数があるとまずいのです。



ライブラリにmain()が有ると、それが実行されてしまいますよね?

解決方法は、exe作るようなプロジェクトに変更するか?ライブラリにするんなら、main()やWinMain()以外の関数名にするしか有りません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!