0

この%&$ ^&VSIDEでフラストレーション^フラストレーションが発生しています。Visual C ++ 2008 3.5 SP1を使用しています(ただし、必要に応じてproエディションもあり、loadlibrary()を使用したくない場合)

「double」に「int」を追加するCDECL関数を含む別の言語(実際にはCではなく基本)で作成されたテストDLLがあります。STDCALLを使用してfloatにintを追加したいのですが、前者を最初に機能させることができれば、それは大きな成果になります。

私は多読して試しました: http ://support.microsoft.com/kb/313981http ://www.codeproject.com/KB/DLL/loadingdll.aspx静的ライブラリに静的 にリンクする静的ライブラリへのリンク と異なるバージョンのVisualStudioで生成されたDLLを動的にリンクする

AddShow.hというAddShow.dll用の素敵なヘッダーファイルを作成しました

DLLAPI int __cdecl AddTwoNum(int n, double f);

次に、この気の利いたツールを使用して.libファイルを作成しました:http: //www.binary-soft.com/dll2lib/dll2lib.htm

それで?

右クリックして「追加」、「クラス」、「コンポーネントクラス」の順にクリックして、dllのパスと名前を指定しようとしましたが、8マイルの肥大化とWindowsツールボックス全体および新しいAddShow.cppファイルが表示されます。

私のC++コードは本当に単純です:

extern int __cdecl AddTwoNum(int n, double f);

int main()
{
    int n, RetVal;
  double d;

        n = 33;
        d = 66.6;

    RetVal = AddTwoNum(n, d);

    cout << "RetVal=" << RetVal;

    return 0;
}

IDEに.libファイルをリンクさせるにはどうすればよいですか?

追加した:

after linking (.lib file is in the debug file) I get the following error:
Compiling...
main.cpp
Linking...
main.obj : error LNK2019: unresolved external symbol "int __cdecl AddTwoNum(int,double)" (?AddTwoNum@@YAHHN@Z) referenced in function _main
C:\C++\FirstDll\Debug\FirstDll.exe : fatal error LNK1120: 1 unresolved externals
Build log was saved at "file://c:\C++\FirstDll\FirstDll\Debug\BuildLog.htm"
FirstDll - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
4

1 に答える 1

2

あなたは行くことができます:

プロジェクトのプロパティ->リンカー->入力

次に、.libを「追加の依存関係」に追加します。

さらに、あなたは置くことができます

#pragma comment(lib, "<your .lib>")

.cppファイル内。

于 2009-10-03T00:20:28.673 に答える