問題タブ [unresolved-external]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 未解決の外部シンボル
助けてください、私は本当に長い間探していました。
Visual Studio 2010 を使用しており、外部ライブラリを含めようとしましたが、未解決の外部エラーが発生します。
外部プロジェクトは、次のようにファイルで構成されています
SCons を使用してこのプロジェクトをビルドし、プロジェクトに .lib ファイルを含めてそのパスを参照し、.h ファイルを msvc ディレクトリにコピーしました。
VSは(オートコンプリートから)backend.cppの関数にアクセスして読み取るようですが、プロジェクトを実行すると、呼び出された関数に未解決の外部@があると表示されます
c++ - コピーアンドスワップを使用したテンプレートクラスを使用した未解決の外部
ここで提案されているように、コピーアンドスワップイディオムを実装しようとしたテンプレートクラスを使用すると、リンカーエラーが発生します。
テンプレートクラスを「TemplateClass」と呼びましょう。部分的に次のように定義されています。
.hファイルに含まれている別のTemplateClass.cppに実装を配置しました。(編集:すべてが.hファイルにある場合、同じ問題が発生します)
代入演算子は次のように定義されます。
スワップ方法は次のように定義されます。
(心配しないでください、私は実際に私のメンバーに「member1」などの名前を付けません)
同じように定義された同様のクラスがありますが、テンプレートクラスではありません。ここではすべてが正常に機能します。TestClass
ただし、メンバーを持つクラスがありTemplateClass< HandledClass > member
、そのメソッドの1つで次のような呼び出しを行う場合
未解決の外部エラーが発生します:
LNK2019:関数 "public:class TemplateClass X&__ thiscall TemplateClass X :: operator =(class TemplateClass)"(...)の未解決の外部シンボル "void __cdecl swap(class TemplateClass&、class TemplateClass&)"(...) TestClass.obj内
または言い換えると、TestClass
呼び出しTemplateClass<HandledClass>::operator=
で何かが見つからないvoid swap( TemplateClass<HandledClass>, TemplateClass<HandledClass> )
。
だから私の質問は:なぜオペレーターはスワップメソッドを見つけられないのですか?
テンプレート引数用にコンパイルされていないようです。コンパイラにフレンドボイドもコンパイルさせることはどういうわけか可能ですか?
私はおそらくfriend void
アプローチを捨てて、クラス内のスワップメソッドとクラス外のスワップメソッドとstd名前空間の1つを定義することができますが、それがそのように機能するかどうかはわかりません。とにかく可能です。
解決:
これは仕事をしました:
<T>オカレンスも削除する必要があることに注意してください。
c++ - 奇妙な未解決の外部エラー
解決策が見つからないように見えるいくつかの未解決の外部エラーが発生しています。
奇妙なことに、すべてを正しく含めたと確信しています。また、そのクラスで機能する関数が常に 1 つあります: DrawTo()。
他の関数の「インライン」宣言を削除しようとしましたが、問題ではないようでした。
また、2 つの関数の間に追加のエンドラインを追加するだけで、一度再構築しようとしましたが、コンパイルされました! 次にコンパイルを試みたとき、それは再び機能しませんでした...
だから、私が何か間違ったことをしているのか、それともコンパイラなのか、完全にはわかりません... (デフォルトのVS2010コンパイラ) (実際、そのコンパイラの名前は何ですか? [コメントまたは編集] )
これが何を意味するか知っている人はいますか?
関連するコードは次のとおりです:(さらに見る必要がある場合は、コメントしてください。編集します)
Path.h
パス.cpp
MyApp.h
MyApp::WndProc()
visual-studio-2010 - エラーLNK2019:未解決の外部シンボル "toString(int)"
環境:WindowsXP。VisualStudios2010。言語-C++。
私は次のリンクエラーに遭遇し、この問題を修正する方法のアイデアを使い果たしました。私のグループが管理する2つのプロジェクト(Messages&Carbon)にリンクするプロジェクト(CnD Device)があります。3つのプロジェクト間でプロジェクトのプロパティを検索しようとしました
この問題は、標準C++ライブラリにある文字列にリンクしていないことが原因だと思います。プロパティリストを何度もスキャンしました。以下は、この問題にとって重要であると私が信じるいくつかの特性です。
CnDデバイスのプロパティ情報:
- 構成タイプダイナミックライブラリ.dll
- MFCの使用共有DLLでMFCを使用する
- ALTを使用しないALTを使用する
- 文字セットマルチバイト文字セットを使用
- ランタイムライブラリマルチスレッドDLL(/ MD)
- 追加の依存関係msvcprtd.lib、Carbon.lib、BUFFER_API.lib、BUFFER_FRAMEWORK.lib、Messages.lib
- すべてのデフォルトライブラリを無視しますいいえ
メッセージプロパティ情報:
- 構成タイプ静的ライブラリ(.lib)
- MFCの使用共有DLLでMFCを使用する
- ALTを使用しないALTを使用する
- 文字セットUnicode文字セットを使用
- ランタイムライブラリマルチスレッドDLL(/ MD)
- 追加の依存関係
- リンクライブラリの依存関係
炭素特性情報:
- 構成タイプ静的ライブラリ(.lib)
- MFCの使用共有DLLでMFCを使用する
- ALTを使用しないALTを使用する
- 文字セットUnicode文字セットを使用
- ランタイムライブラリマルチスレッドDLL(/ MD)
- リンクライブラリの依存関係
私のCnDリンク出力は次のとおりです。
netbeans - この netbeans アイコンは何を意味していますか?
NetBeans 7.0 の Web アプリケーションで Web サービス クライアントを作成した後、プロジェクトのアイコンに警告サインが表示され、その後ラベルが赤くなります。現在、Web サービス クライアントは想定どおりに動作せず、失敗に関するメッセージも表示されません。そのため、アイコンが正しい方向に向けられるかどうか疑問に思っていましたが、残念ながらそれが何を意味するのかわかりません。これはアイコンです:
誰かがこのアイコンについて 1 つまたは 2 つのことを知っている場合は、共有していただければ幸いです。ありがとう...
qt - QtDLLをQtアプリにリンクする-未解決の参照
Qt 4.7.4をインストールし、QtDLLを使用する単純なQtアプリを作成しようとしています。いつものようにifdefを介してDLLのクラスにエクスポート/インポートを追加しましたが、アプリをコンパイルするときに未解決の参照があります。また、アプリがDLLに依存するように設定しました。
主なファイルは次のとおりです。
Lib.pro
App.pro
lib.h
Lib_global.h
このコードの何が問題になっていますか?なぜ未解決の参照なのですか?アプリでは、「../ Lib / lib.h」を含めて、クラスを使用してみます。
c++ - Visual Studioの構築エラー:未解決の外部シンボル_IID_IWICImagingFactory(MFC static lib)
SDI(Doc / View対応)プロジェクトで、いくつかの標準ダイアログを使用してポーグラムを作成しました。
今、私はそれを何人かの友人に送りたいので、私はを設定しましたUse of MFC
Use MFC in a static library
。
しかし、ソリューションを構築しようとすると、次のエラーが発生します。
エラーLNK2001:未解決の外部シンボル_IID_IWICImagingFactory
私の問題は、このインターフェイスIDが正確に何であるかわからないことです。これは、COMのコードを手動で記述したり、イメージファクトリのものを使用したりしていないためです...
私は少し失われたATMを...
これを解決し、静的なMFCの使用法で機能させる方法を教えてもらえますか?
前もって感謝します!
c++ - 未解決の外部シンボル - C++ dll からの LNK2019
GetProcAddress を使用して C++ dll から GetInstance 関数をベース コードにロードすると、未解決の外部シンボル エラーが発生します。
エラーLNK2019 : 未解決の外部シンボル "_ declspec(dllimport) public: unsigned int_thiscall RegTestAPI::CTestmode_Sle70::SetMSfr(unsigned int,unsigned short,char *)" (_ imp ?SetMSfr@CTestmode_Sle70@RegTestAPI@@QAEIIGPAD@Z) 関数で参照される "int __cdecl SetUserDescriptor(unsigned char,unsigned int,unsigned int )" (?SetUserDescriptor@@YAHEII@Z)
DLL コード
ヘッダ
ソース
...
ツールコード
私の考えは、呼び出し規約の何かが間違っているということです (エラーメッセージを見てください -> __thiscall と __cdecl ヒント: 両方のプロジェクトが __cdecl (/Gd) に設定されています) ?!
これがうまくいかない理由はありますか?
前もって感謝します!
挨拶する
c++ - 未解決の外部
未解決の外部エラーを特定するのに苦労しています。
コアプロジェクトを共有する2つの異なるソリューションがあります。ソリューション#1はSnapGameと呼ばれ、ソリューション#2はSnapEditorと呼ばれます。コアプロジェクトはSnapCoreと呼ばれます。
私のSnapGameソリューションはWin32アプリケーションです。SnapCoreプロジェクトを問題なくコンパイル、参照、リンクします。
SnapEditorソリューションはWindowsフォームアプリケーションです。SnapCoreプロジェクトをコンパイルして参照します。ただし、正しくリンクされません。SnapCoreプロジェクトから何かを参照しようとすると、未解決の外部エラーが発生します。
SnapCoreプロジェクトには、いくつかのGDI+サポートクラスがあります。SnapCoreプロジェクトのすべてのクラスは、SnapCore名前空間の下にあります。
Form1.cppファイルは次のとおりです。
取得したリンカーエラーは次のとおりです。
SnapGameソリューションが問題なくリンクする理由を理解できませんが、SnapEditorソリューションは問題なくリンクします。
どんな助けでもいただければ幸いです。
com - ネイティブでの CLR のホスティング - COM インターフェイス、未解決の外部シンボル _CStdStubBuffer_Release@4
私は CLR のホスティングを試しています (今のところモノを使用しようとはしていませんが、おそらく試してみます)。基本的に、私はこれに従っています:
http://www.lenholgate.com/blog/2010/07/clr-hosting---a-flexible-managed-plugin-system-part-1.html
ただし、その記事では十分に説明されていないため、COM 自体に問題があり、(COM で遊んだことはありません) 学習しながら学習しています。
インターフェイスを定義しました:
そして生成されたファイルを私のネイティブプロジェクトに含めました。ただし、リンカーが解決できないため、実行可能ファイルをビルドできません: _CStdStubBuffer_Release@4
. はRpcRT4.lib
リンクされていますが、実行dumpbin rpcrt4.lib /all | grep _CStdStubBuffer_Release
しましたが、そのライブラリによってエクスポートされたようなものはありませんCStdStubBuffer_DebugServerRelease
。それで、問題は、そのメソッドが存在しないと思われる場合、そのメソッドを正確に参照するものは何ですか?
さらに調査を行ったところ、このメソッドは IDL ツールによって生成された .c ファイルを介して参照されていることがわかりました。
および CStdStubBuffer_METHODS はRpcProxy.h
、Windows SDK で定義されていますv7.0A
。
実際には CStdStubBuffer_Release メソッドが必要ですが、http://msdn.microsoft.com/en-us/library/windows/desktop/ms764247%28v=VS.85%29.aspxとは少し異なります。
次に、他のどのライブラリをリンクする必要がありますか?