もう一度私です。私はすべての新しいプロジェクトと全く新しい問題で戻ってきました。 私はGrowlのために何かを実装しようとしています。静的ライブラリーまたは共用ライブラリー(どちらも提供されています)を使用してください。私は必要なヘッダーを含め、図書館にリンクしました。 (2つの方法は実際にはプロジェクトのプロパティとプラグマステートメントを通したものです)。しかし、依然として以下のリンカーエラーを受信し、IM:ライブラリリンカのエラーが私を怒らせる
error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Growl::Growl(enum Growl_Protocol,char const * const,char const * const,char const * * const,int)" ([email protected]@[email protected][email protected]@[email protected])
error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall Growl::~Growl(void)" ([email protected]@[email protected])
fatal error LNK1120: 2 unresolved externals
これらのリンカーエラーの原因となっているコードの行は、この行である:
const char *n[2] = { "username" , "password" };
Growl *growl = new Growl(GROWL_TCP,NULL, "Appname", (const char **const)n,2);
ヘッダファイルは、ファイルの先頭に含まれていますそして私は次の行とリンクしています:
#include "..\\..\\..\\libs\\Growl\\growl++.hpp"
#pragma comment(lib, "..\\..\\..\\libs\\Growl\\libgrowl-static++.lib")
ヘッダソースはここで見つけることができます: https://github.com/psinnott/gntp-send/blob/master/headers/growl%2B%2B.hpp
これが影響してはならないという仮定の下でイム、私は私のプロジェクトPropeties文字がマルチバイト文字セットを使用するように設定されています: https://github.com/psinnott/gntp-send/wiki/Windowsいくつかの余分な情報を:私は次のページから事前に構築されたバイナリを取得し
何でもこれはWin32コンソールアプリケーションでもあります。
どこが間違っていますか?
更新:
グーグル経由でこれを見つけた: http://groups.google.com/group/growl-for-windows/browse_thread/thread/6c48a62454d062f1
は指示に従った:
は(。libgrowlstatiC++と一緒LIB)libgrowlstatic.libを追加しました
は、GROWL_STATICをプリプロセッサの定義を追加しましたおよびGROWL_CPP_STATIC
012を含む多くのエラーが発生しました
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
fatal error LNK1169: one or more multiply defined symbols found
だから私は、プロパティをプロジェクトに次の行、リンカ、コマンドラインを追加しました:今、次のいくつかを含めたくさんより多くのエラーを取得イム
/NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:LIBCMT
を:
者libgrowl-static.lib(tcp.obj) : error LNK2019: unresolved external symbol _atoi referenced in function _growl_tcp_parse_hostname
libgrowl-static.lib(tcp.obj) : error LNK2019: unresolved external symbol _strchr referenced in function _growl_tcp_parse_hostname
libgrowl-static.lib(growl-static.obj) : error LNK2019: unresolved external symbol _fseek referenced in function _growl_tcp_register
libgrowl-static.lib(growl-static.obj) : error LNK2019: unresolved external symbol _fopen referenced in function _growl_tcp_register
libgrowl-static.lib(growl-static.obj) : error LNK2019: unresolved external symbol _strcpy referenced in function _growl_udp_notify
これは数時間であり、それを理解しているようには見えません。ビューが10以上あり、返信はありませんか? 私は怠け者ではないと私は誓う。私は図書館についての答えの1つを調べたが、多くの運がなかった。なぜこれがそのように動作しているのか説明していません。助けてください!
ようこそ、私たちは皆本当にお会いしました:-) – paxdiablo
hehe。ありがとうパックス。 =) –
リンカはエクスポートされた関数を探していますが、インポートライブラリではなく静的ライブラリを提供しているようです。 –