main()で1つのcppファイルがあります。 これは、別の構造体や関数(header.hppなど)に依存しています。 構造体は、関数プロトタイプとともにheader.hppで定義されています。関数はheader.cppに実装されています。1 cppファイル内の関数を別の関数で使用するときの問題
header.hpp:
#ifndef HEADERDUR_HPP
#define HEADERDUR_HPP
struct my_thing{
int blah;
};
int see_blah(my_thing*);
#endif
header.cpp:
undefined reference to `see_blah(my_thing *)`
だから概要を与えるために:私はコンパイルしようと
は、私はというエラーメッセージが表示されます
#include "header.hpp"
int see_blah(my_thing * thingy){
// ...
}
main.cpp :
#include <iostream>
#include "header.hpp"
using namespace std;
int main(void)
{
thinger.blah = 123;
cout << see_blah(&thinger) << endl;
return 0;
}
私は何が間違っているのか分かりません。私は答えを見つけることができません。何かお返事ありがとう、彼らは非常に感謝しています!
両方のソースファイルをコンパイルしていますか? – Mahesh
あなたはそれぞれのcppファイルを.oファイルにコンパイルしてからリンクするのですか? –
受け入れられた回答が問題を解決した場合、あなたの質問はあまりうまく策定されていませんでした。あなたのコードはそのままコンパイルされません(コンパイル時に少なくとも2つのエラーがあります)。苦いことではありません:-)それはただの質問です。正確でない限り、私の唯一の要求はあなたが将来もっと世話をすることです。ここでは、構造定義の最後にセミコロンがあると仮定できますか? – paxdiablo