私は、Win32ウィンドウを実装しなければならなかったassigmentを終えた後、関数をdllにエクスポートしたかったのです。Cエクスポートされていない関数
驚くべきことに、リンカは
- altough __declspec(のdllexport)/ __declspec(dllimportの)が定義され、正しく使用(または私はC++からに慣れとして)され、参照されていないリンクについて不平を言います。
- ライブラリがリンカーに正しく指定されています。
- これらの関数は依存関係ウォーカー内で可視です。
リンカは常に(ドイツ語で)文句:
エラーLNK2019:VerweisアウフNICHT aufgel÷スイーツexternesシンボル "" __declspec(dllimportの)構造体cw_Window * __cdeclのcreateWindow(CHAR *、符号なしショートカット ")"(__imp_?createWindow @@ YAPEAUcw_Window @@ PEADGG @ Z) "をFunktion" main "に追加しました。 C:\ Users \ユーザーjkirs \デスクトップ\ワークスペース\ Unit.MSVC2015-x86-64.88a6cdd3 \ intermediate.Unit.exe \ MSVC2015_x86_64リリース:致命的なエラーLNK1120:1 NICHT aufgelの÷のSTE Externe
マイ機能プロトタイプは次のように定義されています
「API」として次のように定義されてtypedef struct cw_Window cw_Window_t;
typedef struct cw_Event cw_Event_t;
API cw_Window_t* createWindow(char* pTitle, uint16_t nWidth, uint16_t nHeight);
API void destroyWindow(cw_Window_t* pWindow);
API void pollEvent(cw_Window_t* pWindow, cw_Event_t* pEvent);
:
#ifdef _MSC_VER
#ifdef CW_EXPORT
#define API __declspec(dllexport)
#else
#define API __declspec(dllimport)
#endif
#else
#define API // TODO
#endif
私もAPI 『定義「にはextern『C』』を追加しようとしました、ウィット文字列リテラル 'C'については不平を言っています。
誰もがこの問題を自分自身にまだ遭遇しており、正しい方向に向けることができますか?
重要:私はVisual Studio C++ 2015(MSVC_x86_64)を使用しています。私のヘッダーファイルは '.h'で終わり、ソースファイルは '.c'で終わります。
EDIT: libはCコードで再度使用されるはずです。