1
クラスを持たないC++動的ライブラリを作成しようとしています。 <string.h
>を組み込み、strlenを直接呼び出す方法と似たように動作したいと思います。クラス名なしでC++ライブラリを作成する
私はコンパイルするクラスを作成できますが、私のライブラリと正しくリンクしません。
ここで私は今働いているテストライブラリです:
ヘッダー
#ifndef _DLL_H_
#define _DLL_H_
BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved);
extern "C" __declspec(dllexport) int testMethod(int a);
#endif
CPP
#include "dll.h"
int testMethod(int num)
{
std::cout << "test message" << std::endl;
return 1;
}
BOOL APIENTRY DllMain (HINSTANCE hInst, // Library instance handle. ,
DWORD reason, // Reason this function is being called. ,
LPVOID reserved) // Not used. )
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
// Returns TRUE on success, FALSE on failure
return TRUE;
}
最後に、ここで私は、DLLをテストするために使用しているクラスは、どのですlib mingwの出力にリンクするように言われています。
#include <iostream>
#include "../Dll/dll.h"
using namespace std;
int main(int argc, char *argv[])
{
testMethod(5);
}
私は
「マイライブラリに正しくリンクされません」:どのようなエラーメッセージや問題が発生しますか? – aschepler