-3

元々 .dll プロジェクトとして開発されたプロジェクトがありますMFCが、このプロジェクトを .exe アプリケーションに変換したいと考えています。以下に示すようにプロジェクト設定を変更しましたが、役に立ちませんでした。

ここに画像の説明を入力

編集:さらに、リンカーのプロパティを次のように変更しましたProject properties -> Linker -> General -> Output file .. set to .. .Debug\DirBkgndExt.exe

コンパイルすると、次のエラーが発生します。

私はそれをグーグルで検索しました.いくつかのブログでは、人々は既存のプロジェクトから実行可能なタイプの新しいプロジェクトにすべてをコピーして貼り付けることを提案しています. このプロジェクトは少し巨大なので、そのオプションは適切ではありません。

ここに画像の説明を入力

4

3 に答える 3

1

ここで何が起こると思いますか? DLL にはエントリ ポイントがありません (ただし、スタンドアロン アプリケーション用のエントリ ポイントはありません)。では、exe の実行時にソフトウェアは何をすべきでしょうか? やりたいことを何でも開始する「ドライバー」を提供する必要があります。新しいexeアプリケーション(win32またはコンソール?)を作成し、そこから「ブートストラップ」コードを既存のアプリケーションにコピーし、そこで初期化/引数解析などを行います。

おそらく、個別の構成を作成する必要があります: 1 つは dll としてビルドし、もう 1 つは exe としてビルドします。次に、マクロを使用して、含まれている各ビルドに固有のコードを保持します。これは、テスト/開発 UI が組み込まれているライブラリに対して行うことです。

于 2015-08-18T09:31:17.550 に答える
0

私はあなたとかなり似たような場所にいたと思いますが、関連する #defines の背後にあるコードを持っていたので、プロジェクトを(main() のように) .exe として簡単にビルドできるはずでした。

あなたが行ったのと同じ設定に加えて、次の設定を反転しました(VS2012の場合):

[リンカー] > [入力] で、モジュール定義ファイルが空白であることを確認します (私にとっては foo.def と表示されています)。

次に、実行可能な.exeを構築できます

于 2016-08-12T21:19:28.813 に答える