トップページ > プログラム > 2014年04月26日 > fKMdaZRq

書き込み順位&時間帯一覧

23 位/201 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000300000000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【初心者歓迎】C/C++室 Ver.90【環境依存OK】

書き込みレス一覧

【初心者歓迎】C/C++室 Ver.90【環境依存OK】
446 :デフォルトの名無しさん[]:2014/04/26(土) 07:47:28.76 ID:fKMdaZRq
// main.c
int main() {
Test test;
test.func();
}

// test.h
class Test {
void func();
};

// test.cpp
void Test::func() {
Test2 tes2;
test2.func2();
}

// test2.h
class Test2 {
void func2();
};

// test2.cpp
void Test2::func2(){
printf("hello\n");
}
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
447 :デフォルトの名無しさん[]:2014/04/26(土) 07:50:59.21 ID:fKMdaZRq
というソースコードがあったときに以下のようなmakefileを書きました.

// makefile
main.o : main.cpp
g++ -c main.cpp
test.o : test.cpp
g++ -c test.cpp
test2.o : test2.cpp
g++ -c test2.cpp

libtest2.a : test2.o
ar crsv libtest2.a test2.o
libtest.a : test.o libtest2.a
ar crsv libtest.a test.o libtest2.a

program : main.o libtest.a
g++ -o main main.o libtest.a
【初心者歓迎】C/C++室 Ver.90【環境依存OK】
449 :デフォルトの名無しさん[]:2014/04/26(土) 07:56:41.06 ID:fKMdaZRq
ここで,make programすると,Test2::func2がundefined referenceとなってしまいます.
この理由を教えて頂けないでしょうか?

自分では,ar crsv libtest.a test.o libtest2.aでは,Test::funcとTest2::func2が
紐づかないのかなと考えているのですが,,,

尚,makefileの最終行をg++ -o main main.o libtest.a libtest2.aとすれば
成功することはわかっています.


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。