問題タブ [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 で CURL を実装する
Windows Vista x64 上の Visual Studio 2010 で Curl を使用するプログラムをコンパイルしようとしています。Curl 7.23.1 の最新バージョンを公式 Web サイトからダウンロードし、C:Program Files に解凍しました。そこから、lib ディレクトリにある VCProject ファイルを開いて変換し、Visual C++ Express バージョンでビルドしました。これにより、オブジェクト ファイル、sbr ファイル、および libcurl.lib ファイルを含む lib フォルダーにデバッグ フォルダーが作成されました。その後、Visual Studio で W32 コンソール アプリケーションを開き、インクルード フォルダーをインクルード ディレクトリに追加し、デバッグ フォルダーをライブラリ ディレクトリとリンカーの下の追加のライブラリ ディレクトリに追加し、追加の依存関係に libcurl.lib を追加しました。コードをコンパイルしようとすると、次のエラーが発生しました。
オンラインでいくつかのチュートリアルに従ってみましたが、それらはすべて古くなっています。私が従った手順は、Visual Studio 2008 で動作するはずです。ヘッダー ファイルが不足しているか、Curl の一部をビルド/コンパイルしていない可能性があると考えました。助けてくれてありがとう。
visual-c++ - インライン関数のLNK2019未解決エラー
なぜこれが起こっているのか分かりません。私が得るエラーは次のとおりです。
リンクされていないのは、私のMatrixクラスの関数ですgetRowSize()
。getColumnSize()
私は何が間違っているのですか?
だから、私はここで何が間違っているのですか?私は検索してきました...あらゆる方法で検索しています。
コード
ヘッダーファイル:
ソース:
主要:
c++ - 未解決の外部シンボル-リリースモードのみ
Visual C ++ 6を使用していて、アプリケーションはデバッグモードで正常にビルドおよび実行されますが、リリースモードでビルドしようとすると、次の2つの未解決の外部シンボルエラーが発生します。
COverUnderReportDocは、MFCフレームワークの一部であるCDocumentから派生したCReportDocから派生したクラスです。
関数宣言は次のとおりです。
そして定義:
これを解決する方法が本当にわかりません。これらのメソッドはどのライブラリにも存在せず、クラスは正常にコンパイルされるため、リンク中にそれらが表示されない理由がわかりません。誰かアイデアはありますか?
編集:これが私のプロジェクトオプションです:
プロジェクトオプションのリリース:
(C/C++
のタブProject Settings
)
(Link
のタブProject Settings
)
デバッグプロジェクトオプション:
(C/C++
のタブProject Settings
)
(Link
のタブProject Settings
)
c - 未定義の参照/未解決の外部シンボル
WinSock.hヘッダーファイルを使用しようとしていますが、次のいずれかのエラーが発生します。VS2010(C ++)の場合:
gccコマンドライン(C):
コードは単純です。Winsock.hヘッダーファイルをインクルードしてから
socket()
&関数でエラーが発生しclosesocket()
ます...!Stackoverflowで検索したところ、これに関するいくつかのトピックが見つかりましたが、それらはすべてヘッダーファイルの変更を示唆していました。ここではWinSock.hを変更できないため、ヘッダーファイルを使用する実際のコードの解決策が必要です。何か案は?
c++ - cppファイルで定義されたテンプレートメソッドのMSVCリンカエラーLNK2001未解決の外部
私は C++ の初心者なので (通常は C# で作業していますが、現在は多少クロスプラットフォームのプロジェクトに取り組んでいます)、そのすべての概念と、コンパイル/リンクの正確な仕組みにあまり慣れていません。したがって、当然、このエラーが発生する理由はよくわかりません。私はエラーを少し調べましたが、ライブラリをリンクしたり、ヘッダーファイルで関数を宣言したりせず、その外部で定義しない場合によく発生する問題のようです。奇妙なことに、私のエラーはどちらの結果でもありません。正確なエラー テキストは次のとおりです。
" Error 1 error LNK2001: unresolved external symbol "public: __thiscall ld22::QuadNode<class ld22::DrawableObject>::QuadNode<class ld22::DrawableObject>(class sf::Rect<float>)" (??0?$QuadNode@VDrawableObject@ld22@@@ld22@@QAE@V?$Rect@M@sf@@@Z) C:\Users\Nick\Documents\Visual Studio 2010\Projects\GDCSFMLTest\GDCSFMLTest\main.obj
"
私には、ファイルの実装を作成したことがないことを伝えようとしているようです。しかし、私は持っています。main.cpp
、main.objにコンパイルされてエラーが発生するファイルにはQuadtree.h
、行で関数(技術的にはコンストラクター)を宣言する が含まQuadNode(sf::FloatRect);
れています。ファイルQuadtree.cpp
には、次のようにコンストラクターを含めQuadtree.h
て定義します。
私が言ったように、私はC ++にかなり慣れていないので、まだ物事を理解しようとしています. どんな助けでも大歓迎です (特に、私がどこかで愚かな、または初心者のエラーを犯した場合、それは私がしたように感じます)。さらに情報が必要な場合は、喜んで提供します。
linker - C AVR の「usbInit」への未定義の参照
プロジェクトに v-usb ライブラリを使用しています。コードを書いてコンパイルしたいのですが、残念ながら解決できないエラーがあります。これが私のスクリーンショットです:
ヘッダーにこれがあるため、この状況は私にとって奇妙です:
関数を次のようusbdrv/usbdrv.h
に定義しUSBpoll
ます。
コンパイラはそれをコンパイルできるべきではありませんか?
ここに私のプロジェクトがあります: http://goo.gl/P6ujK
そして、これが私のワークスペースディレクトリ全体です: http://minus.com/mbhTkJuvOK#1
これが私のコードです:main.c:
unresolved-external - さらに別の LNK2019: 未解決の外部シンボル
学校のプロジェクトのバックボーンを作成していますが、「未解決の外部シンボル」エラーが発生しています。このサイトで言及されている以前の問題によると、プロジェクトを .lib ファイルに手動でリンクする必要があると思います。問題は、リンクする必要がある .lib が正確にわからないことです。私が12歳のように誰か説明できますか?
c++ - 未解決の外部シンボル"public:class Foo __thiscall Bar :: bu(char const *)"
これが私が持っているものです。カスタムコンストラクターを使用して、Bar内にFooのインスタンスを作成しようとしています。Barのコンストラクターからコンストラクターを呼び出そうとすると、外部で未解決になります。
c++ - 異なるライブラリの継承の問題で同じファイル名を持つクラス
別のライブラリにある同じファイル名のクラスから継承する場合、リンカは未解決の外部シンボルエラーを生成します。この継承について考えてみてください:LIB2 :: MyClass:public LIB1::MyClass。
static lib "lib1":
MyClass.h:
static lib "lib2":
MyClass.h:
両方の.cppファイルが存在すると仮定しましょう。
lib1のlib2リンク
次に、一部の実行可能ファイルはlib2にリンクして、派生したMyClassを使用しようとします。
リンクはで失敗します
エラーLNK2001:未解決の外部シンボル "public:__thiscall LIB1 :: MyClass ::〜MyClass(void)
(ctorも同じ)
MyClass.cppの1つのファイル名をMyClass1.cppに変更するだけで、すべて問題ありません。
lib1.libでLIB1:MyClassの定義を検索する代わりに、リンカーはMyClass.obj(lib2から)でそれらを見つけようとします。
この振る舞いは、意図的に行うにはあまりにも奇妙に感じます。私は何が欠けていますか?
さらに、ライブラリと実行可能ファイルの両方を含むソリューションをVS2005 / 2010でセットアップし、VSにプロジェクトプロパティ->共通プロパティ->フレームワークと参照を介してすべてのライブラリ依存関係をセットアップさせる場合(リンカー設定でライブラリへのパスを提供する代わりに)リンクは成功します。