問題タブ [lnk2001]

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.

0 投票する
2 に答える
856 参照

c++ - 未解決の外部シンボルエラーをスローするC++インターフェイス

わかりました。簡単な質問がありますが、オンラインで探しているものの例は文字通りなく、1つのファイルですべてを実行する同じ例のコピーのみです。以下の例のようにインターフェイスとそれを使用するメソッドを作成しようとしていますが、コンパイル時にVisualStudioから未解決の外部シンボルエラーが発生します。私が間違っていることについて何か考えはありますか?

IFoo.h

Foo.h

Foo.cpp

0 投票する
2 に答える
2311 参照

c++ - Error LNK2001 while using my static library

I'm having LNK2001 issues while building my solution.

The solution has 3 projects, one of them if just a main that returns 0, so I'll exclude it from the problem.

One project (SerialPort) is a .lib that implements a class (SerialPort), while the other (SerialHost) simply creates an instance of SerialPort.

I'm thinking the problem is somewhere in the project settings of SerialHost. Here goes the SerialHost project code:

And building yields:

main.obj : error LNK2001: unresolved external symbol "public: unsigned long __thiscall SerialPort::init(unsigned long,char const *)" (?init@SerialPort@@QAEKKPBD@Z)

I've searched SO for answers and found no solution that cured my problem.

To set the project settings I followed this msnd walkthrough.

I also tried adding specifically the .lib to the Additional Dependencies in Linker-Input.

Then I read this SO thread, and setting the option "Treat wchar_t as build-in type (Properties->C/C++->Language-> ... ) to No still didn't work. I thought it would work because SerialPort::init is declared as

  • it thought the fault was with the use of the LPCTSTR type.

The SerialPort project builds OK (the init method is implemented in the .cpp).

I'm just beginning to work with my own static libs in VS so I may be doing some basic error here.

Thank you in advance for your help!


Additional Info:

I tried commenting out the init and using another method and it built just fine! This code:

in SerialHost just yields the error in init - if I comment init, no linking errors appear.

Here is the implementation for SerialPort

0 投票する
3 に答える
1670 参照

c++ - ヘッダーが含まれている場合のC++OpenGL LNK2001

私は28を得ています

エラーLNK2001:未解決の外部シンボル

メッセージ。私は事実を知っています、例えば、

は_int_gl_exts.hにあり、確かにそれを含めています。

これが問題かどうかはわかりませんが、エラーメッセージに3つのアンダースコア文字が含まれています

一方、ファイルでは、その前に2つのアンダースコアしかありません。これは、インクルードファイル内の正確な行です

私はチュートリアルから直接多くのものを引き出しています。インクルードと関数が同じであっても、まだ問題があります。必要に応じて完全なコードを投稿しますが、ここで約2日が経過すると、アイデアがなくなります。

編集:私は実際には両方を持っています

また、リンカーでプロジェクトプロパティを変更して、これを追加のライブラリに追加してみました。

私のコード全体は次のとおりです。変更が必要なものは他にもたくさんあることは理解していますが、これが私が最初に乗り越えようとしていることです。

0 投票する
2 に答える
150 参照

c - LNK2001、再び

同様の問題を探しましたが、唯一のトピックはライブラリの使用に関するトピックである可能性があり、これは避けたいと思います...これが私の問題です。次のエラーが発生します。

Visual Studio Professional 2008 を使用して AC プログラムを開発しています。メイン ファイルと、作成したすべての関数を含む別のファイル myFunctions.h/c があります。問題は、「myFunctions.c」をインクルードするとこれらのエラーが発生しないのに対し、「myFunctions.h」をインクルードするとこれらのエラーが発生することです。

私は大学で覚えていることをやっています (私は今、より多くの matlab に夢中になっています)。

その他のヘッダー (stdlib、数学など) をインクルードした直後

推測はありますか?ありがとうございました

0 投票する
1 に答える
4273 参照

visual-studio-2010 - エラーLNK2019およびLNK2001とVS2010およびQtライブラリ

Qtの例「webbrowser」(qt-everywhere-opensource-src-4.8.3 / examples / activeqt / webbrwowserから)をVS2010((私はwindows7 x64で動作します)で再現しようとしています。

そのため、すべてのファイル(.hおよび.cpp)をwebbrowserフォルダーからプロジェクトにコピーしました。また、プロジェクトのプロパティ->リンカー->入力->追加のディレクティブで、次のライブラリを追加しました。

ここで、[デバッグ]ボタンを押すと、次のエラーが発生します。

main.cppファイルは次のとおりです。

どこが間違っているの?ご協力いただきありがとうございます!

0 投票する
1 に答える
726 参照

visual-c++ - ArmadilloDLL作成時の未解決の外部シンボルエラー

WinXPでVC++2010を使用して、元々ヘッダーのみのライブラリであるArmadillo線形代数ライブラリのダイナミックライブラリを作成しようとしています。新しいプロジェクトを作成し、ソースファイルを追加し、1つのArmadillo関数(Colクラス)のみをエクスポートするように指定する.defファイルを作成しましたが、ColクラスでLNK2001エラーが発生します。メインを作成してColをうまく使用できるので、Colは正しく含まれていると思います。

また、関数定義で「__declspec(dllexport)」を使用してコンパイルしましたが、dumpbinを使用しても何も表示されず、.dllを正常に使用できないため、関数はエクスポートされません。ここで何かが足りませんか?

0 投票する
1 に答える
1001 参照

c++ - LNK2001:別のDLLからオブジェクトのメソッドを呼び出そうとしたときに、未解決の外部シンボル

私には2つのモジュールがあり、それぞれに独自のクラスと独自のオブジェクトがあります。各モジュールはDLLにコンパイルされます。別のクラスのオブジェクトへのポインタを持つ「クロスDLL」メソッド呼び出しを行いたいのですが、リンカはこれを許可していません(MSVC ++2008)。

すなわち:

  • calledClassを持つcalledModule.cppと、このクラスのオブジェクト(calledObject)があります。クラスは、私が呼び出したいメソッドを呼び出しました。モジュールはDLLにコンパイルされ、Lib.dllと呼ばれるようになります(驚きです!)。
  • callingClassを持つcallingModule.cppがあります。特に、クラスには、calledObjectへのポインタである属性があります。モジュールはDLLcallingLib.dllにコンパイルされます。calledObjectのポインターはコンストラクターで設定されます。

コード全体をコンパイルすることができます。リンカが起動すると問題が発生します。次のメッセージが表示されます:moduleCalling.obj:エラーLNK2001:未解決の外部シンボル "public:void __thiscall classCalled :: methodCalled..."

私はdeclspecのものを使用しないので、calledLib.dllから何もエクスポートされません。

私が呼び出しているメソッド(methodCalled)は実装に存在し、そのプロトタイプはヘッダーで正しく宣言されています。classCalledは「基本的な」クラスであり、何からも継承されません。さらに、methodCalledを仮想として宣言すると、プロジェクト全体がコンパイルされ、正しく機能します...

別のDLLから「通常の」方法でオブジェクトのメソッドを呼び出せないのはなぜですか?なぜそれを「仮想」として宣言することが役立つのでしょうか。誰もが知っていますか?私にはいくつかの推測がありますが、専門家の回答はこのことを理解するのに大いに役立ちます。

PS:私はMSVC++2008を使用しています。

ありがとう!

更新:コードがどのように見えるかを反映するコードスニペットを追加します。

0 投票する
1 に答える
5278 参照

c++ - C ++ / Qt-メインウィンドウからダイアログを開く-エラーLNK2019-LNK2001:未解決の外部シンボル

基本的に、コードの目的は、ボタンがクリックされた後にQWebView(一部のコンテンツを含む)を含むダイアログを開くことです。

これらは私がしたことです:

mainwindow.h:

mainwindow.cpp:

onlinedb.h:

onlinedb.cpp:

いくつかのリンクエラーが発生しました

Plzは誰かがそれを手伝うことができますか?

0 投票する
1 に答える
875 参照

windows-ce - ひるみの未解決の外部シンボル

wince コードをコンパイルしようとすると、次のエラーが発生しました。

strmbase.lib のような必要なファイルをプロジェクトにリンクしました。strmbase.lib に CTransInPlaceFilter (error3 など) の c'tor があるかどうかを確認しようとしましたが、あることがわかりましたが、異なります。

wchar_t* を short* にキャストできません。

特定の「strmbase.lib」に問題がありますか、それとも間違っていますか?

ありがとうございました!

0 投票する
1 に答える
1306 参照

visual-studio-2010 - libtiff のリンク - LNK2001: 外部シンボル TIFFOpen を解決しない

64 ビット マシンで MSVS 2010 を使用しています。セットアップ ファイルを使用して tiff ライブラリ バージョン 3.8.2 をインストールし、プロジェクト プロパティ シートを変更しました。リンカー - *\GnuWin32\lib、入力 - libtiff.lib。しかし、MSVS 2010 ではまだリンカー エラーが表示されます。

LNK2001: 未解決の外部シンボル TIFFOpen
LNK2001: 未解決の外部シンボル TIFFGetField
LNK2001: 未解決の外部シンボル TIFFIsTiled

(私のソースファイルの関数呼び出しのため)。

インクルードディレクトリを環境変数パスにも追加しようとしましたが、役に立ちませんでした。libtiff Web サイトで説明されているように、tiff-4.0.3.zip もダウンロードし、コマンド プロンプトからライブラリをビルドしました。それに応じてプロジェクト プロパティ シートを更新しました。リンカー - *\libtiff、入力 - libtiff.lib、libtiff_i.lib。libtiff.dll を *\Windows\system および *\Windows\system32 ディレクトリにコピーし、*\libtiff ディレクトリを環境変数パスに追加しました。それでも、MSVS 2010 でも同じエラーが発生します。

私はオンラインで検索しましたが、誰もそのような問題を抱えていないようです。または、さまざまなライブラリで同様の問題を抱えている人のために、解決策は私が上でやろうとしたことです. 私は今これにほぼ2日を費やしており、解決策が切望されています. 助けてください!