1

Windows デスクトップ用の Visual Studio 2012 Express を使用して、Parrot ARDrone SDK v1.8 の Win32 サンプルをコンパイルしようとしています。Windows 7 64 ビットを実行しています。SDK は C++ ではなく C で記述されています。

これまでのところ、すべてのエラーをなんとか乗り越えてきましたが、これには困惑しています。

実行すると、エラー リストに次の 3 つのメッセージが表示されます。
Warning 1 warning LNK4001: no object files specified; libraries used C:\Users\Netex\Desktop\ARDrone_SDK_Version_1_8_20110726\ARDrone_SDK_Version_1_8_20110726\Examples\Win32\VCProjects\ARDrone\Win32Client\LINK Win32Client

Error 2 error LNK2001: unresolved external symbol _mainCRTStartup C:\Users\Netex\Desktop\ARDrone_SDK_Version_1_8_20110726\ARDrone_SDK_Version_1_8_20110726\Examples\Win32\VCProjects\ARDrone\Win32Client\LINK Win32Client

Error 3 error LNK1120: 1 unresolved externals C:\Users\Netex\Desktop\ARDrone_SDK_Version_1_8_20110726\ARDrone_SDK_Version_1_8_20110726\Examples\Win32\VCProjects\ARDrone\Debug\Win32Client.exe Win32Client

Linker->System で SubSystem を「Not Set」に設定し、エントリ ポイントを手動で設定するなど、多くの提案された解決策を試しました。これにより、2 つのエラーが取り除かれ、次のように置き換えられ
ます。 「推測されず、定義する必要があります」

Platform Toolset を v90 (最初にコンパイルされたものだと思います) に設定しようとしましたが、警告は消えましたが、エラーは残ります。

質問:これらのメッセージの原因は何ですか?どうすれば修正できますか? 64 ビット システムで Win32 コンソール プログラムをコンパイルしようとしているからですか?

どんな助けでも大歓迎です、

ダン

4

2 に答える 2

0

in my case, the solution was to explicitly name the 'entry point', e.g. with the command line:

ml64 main.asm /subsystem:console /entry:main

the last option: '/entry:main' was crucial

于 2021-06-22T02:47:41.703 に答える