-6

[c++] dll をプログラムに入れますか?

プログラムで .dll ファイルを使用したくありません。このプログラムには msvcr100.dll が必要です。

またはexeにdllを埋め込む

#include <iostream>
#include <tchar.h>
#include <urlmon.h>

#pragma comment(lib, "urlmon.lib")

using namespace std;


int main()
{
    URLDownloadToFile ( NULL, _T("http://199.127.102.230/dl/lol.jpg"),_T("test.jpg"), 0, NULL );

//system("start C:\\Users\\Mani\\Desktop\\clientF.exe");

    system("pause");
    return 0;
} 
4

2 に答える 2

2

いくつか問題があります。

まず、マシンに再配布可能な msvc がありません。こちらから無料でダウンロードできます: http://www.microsoft.com/en-us/download/details.aspx?id=5555

第二に、動的リンクと静的リンクまたはライブラリの違いや、コードが何をしているのかを理解していないようです。そのためには、良い本をお勧めします: The Definitive C++ Book Guide and List

編集:リリースビルドの簡単な手順...

Visual Studio からランタイムを静的にリンクするには:

C/C++ の下のプロジェクト プロパティで [コード生成] を選択し、[ランタイム ライブラリ] オプションで [マルチスレッドとリビルド] を選択します。

コマンド ラインまたは make ファイルからの静的リンク:

/MT スイッチを cl.exe に渡して再構築する

プリプロセッサ ディレクティブを追加することもできますが、_MTこれはオプションだと思います。

于 2012-06-11T20:17:57.610 に答える
0

ダイナミックローディング?

HMODULE hModule = LoadLibrary( _T( "urlmon.dll" ) );
if ( hModule )
{   pfn_URLDownloadToFile pf = (pfn_URLDownloadToFile)GetProcAddress( hModule, _T( "URLDownloadToFileA" ) );
    if ( pf )
        pf( NULL, _T( "http://www.google.com/images/srpr/logo3w.png" ),_T( "test.png" ), 0, NULL );
    FreeLibrary( hModule );
} // end if
于 2012-06-11T21:35:31.470 に答える