問題タブ [undefined-reference]
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++ - 定義済み関数への C++ 未定義参照
なぜこれが機能しないのかわかりません。3 つのファイルすべてを公開しますが、このエラーがスローされる理由を誰かが教えてくれる可能性があります。g++ を使用してプログラムをコンパイルしています。
プログラム:
関数ファイル:
ヘッダー ファイル:
エラーは正確には次のとおりです。
c++ - テンプレートを使用した未定義シンボル
このコードをビルドすると、リンカー エラーが発生します。
Exclude.h ファイル
同じファイル内:
前の呼び出しを使用する cpp ファイルは次のようになります。
コードは正常にコンパイルされますが、リンカーからエラーが発生しました: Undefined first referenced symbol in file bool IsExclude::operator()(const __type_0*) MyFile.o
ヒントや提案はありますか?
PSメモリリークを避けるために、ベクトルをクリーンアップする必要があることは承知しています。コンパイラで boost::shared_ptr を使用できません。はぁ!
g++ - GCC 4.5.0..コンパイル中のリンクエラー?
最近、暗黒時代から抜け出し、Cygwin を使用して GCC を3.4.4から4.5.0にアップグレードしました (今後の参考のために Windows で Netbeans 6.8 を使用しています)。簡単なプログラムを実行して、新しいコンパイラをテストしてみました。ただし、NetBeans が「-lstdc++ を見つけることができない」ことを理由に、実行は失敗しました。
面白い。
私は中を見ます...
C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.0
... libstdc++.a、libstdc++.dll.a、libstdc++.la、libsupc++.a、およびlibsupc++.laが想定されている場所 (それらは 3.4.4 フォルダーのその場所にあります)、そうではありませんそこの。他にも気付きました.4.3.4フォルダーがあります...
C:\cygwin\lib\gcc\i686-pc-cygwin
これらの正確なファイルが含まれています! 良い。そのため、それらを 4.5.0 フォルダーにコピーして、プログラムを再度実行してみます。今回は、他に 2 つのエラーが発生しています。
build/Debug/Cygwin-Windows/extract_fail_operations.o:/usr/lib/gcc/i686-pc-cygwin/4.5.0/include/c++/bits/stl_list.h:1435: `std::_List_node_base への未定義の参照: :_M_hook(std::_List_node_base*)'
と:
build/Debug/Cygwin-Windows/extract_fail_operations.o:/usr/lib/gcc/i686-pc-cygwin/4.5.0/include/c++/bits/stl_list.h:1451: `std::_List_node_base への未定義の参照: :_M_unhook()'
この時点で、私は頭がいっぱいであることに気づき、これ以上ファイルをコピーして貼り付ける前に助けを求めることにしました。誰かがこれを機能させる方法を教えてくれたら、本当に感謝しています。
(解決策にコマンドラインが含まれる場合は、私がそれに精通していないことに注意してください...他のSOユーザーには必要のない追加の詳細を提供する必要があるかもしれません!)
編集: PATH 変数は次のとおりです。
C:\Program Files\SSH Communications Security\SSH Secure Shell;C:\Program Files\CVSNT\;C:\cygwin\bin
はい、インストールされているCygwinはサイトの最新のものです。
c++ - `__stack_chk_fail'への未定義の参照
C ++コードのコンパイル中にこのエラーが発生する:
すでに試したオプション:
- コンパイル中に-fno-stack-protectorを追加しました-動作しませんでした、エラーが持続します
- コードにvoid__stack_chk_fail(void)のダミー実装を追加しました。それでも同じエラーが発生します。
詳細なエラー:
以前、私はそのようなエラーを数十回受けていました。gcc
私が使用しているプリコンパイル済みライブラリとgcc
、コードのコンパイルに使用していたバージョンの間にバージョンの不一致があることがわかりました。更新されましgcc
たが、これらのエラーのうち2つしか発生していません。
何か助けてください?
qt - Qt Creator の「未定義の参照」エラー
動作中の Visual C++ コードを Qt Creator にインポートしようとしていますが、説明できないコンパイル エラーが発生しています。これは私のコードです:
そして、Qt Creator は私にこのエラーを与えます (のコンストラクター宣言でTabSprite.cpp
):
'appetizer::GraphicsItem::GraphicsItem(appetizer::GraphicsWindow*) への未定義の参照
ただしGraphicsItem
、適切に宣言されGraphicsItem.h
ているため、コンパイラがそれを見つけられない理由がわかりません。このコードの何が問題なのか、誰にもわかりますか?
c++ - libole32とリンクしている場合でも、外部ライブラリの未定義のOLE参照
MINGWを使用して、CコードをいくつかのOLE操作を実行する静的C++ライブラリにリンクしようとしています。
残念ながら、私はこれを取得します:
私が見つけることができる唯一の解決策はlibole32とリンクすることですが、ご覧のとおり、私はすでにそれを行っています。
他のアイデアはありますか?
c++ - C++にヘッダーを含めている間の未定義の参照
プロジェクトをファイルに分割することに決めている間、私は自分のプロジェクトに取り組んでいました。しかし、私はこのような問題に悩まされ、グーグルで見つけたすべてのアドバイスは、私が正しく行っている両方のオブジェクトファイルをリンクするのを忘れることについてでした(少なくとも私はそう思います)。
Makefile:
main.cpp
class.h
class.cpp
エラーメッセージ:
c++ - C ++-/tmp/cckpbRW.o:main.cc:(.text+0x9d):undefined reference
ここの例に従ってください:http://www.learncpp.com/cpp-tutorial/19-header-files/
に関連しadd.h
てmain.cpp
main.ccをコンパイルしようとすると(別の拡張子を使用しただけです)、次のようになります。
この問題を解決するにはどうすればよいですか?
ありがとう。
c++ - 更新:C++未定義の参照
次のC++プログラムを実行しようとすると:UPDATE(過去のリンクにエラーがあったために更新されたコード):http://pastie.org/private/pdpfpzg5fk7iegnohebtq
私は次のようになります:
アップデート
現在発生しているエラーは次のとおりです。
それについて何かアイデアはありますか?
ありがとう。
c++ - 別の1つのcppファイルで関数を使用する際の問題
main()を含む1つのcppファイルがあります。別の構造体と関数(たとえば、header.hpp)に依存しています。構造体は、関数プロトタイプとともにheader.hppで定義されています。関数はheader.cppに実装されています。
コンパイルしようとすると、次のようなエラーメッセージが表示されます。
したがって、概要を説明します。
header.hpp:
header.cpp:
main.cpp:
何が間違っているのかわからず、答えも見つかりません。回答ありがとうございます、彼らは非常に感謝しています!