2
LNK2005 "already defined in .obj"を検索しましたが、私が直面している特定の問題に関連するコンテンツが見つかりませんでした。今main.cppに複数スレッド関数が既に.objで定義されています
// main.cpp
#include <thread>
#include "foo.h"
int main() {
std::thread t(foo);
t.join();
return 0;
}
...私は、ヘッダーがfoo.h
// foo.h
#ifndef FOO_H
#define FOO_H
void foo() {
print("foo\n");
}
#endif
とメインファイルをしました
...誰かがこの上で私を助けることを願って、コンパイルなしエラーは、出力にを与えますOLE ...
foo
しかし、私は別のファイルfoo.cppを作成し、ちょうどヘッダfoo.hというを含め、他に何もしない場合は...
// foo.cpp
#include "foo.h"
... IリンカエラーLNK2005 main.objですでに定義されている "void __cdecl foo(void)"(?foo @@ YAXXZ)
ここで何が問題なのか分かりませんか?
はそれを手に入れました!ありがとう。 – chandr3sh