こんばんは。
前シューティングゲームを作るといってた光冠です。
この授業の一つにテストをしっかりやるという事がありまして、
とりあえずcppunitをVC++2008EEでやろうと思ったのですがどうも上手くいきません
とりあえず下のサイトを参考にしていたのですが
http://www.atmarkit.co.jp/fdotnet/cppte ... 02_01.html
サンプルで試してみたところ同じようなエラーがでます。
1>リンクしています...
1>CounterTest.obj : error LNK2019: 未解決の外部シンボル "public: __thiscall Counter::Counter(void)" (??0Counter@@QAE@XZ) が関数 "public: virtual void __thiscall CounterTest::setUp(void)" (?setUp@CounterTest@@UAEXXZ) で参照されました。
1>CounterTest.obj : error LNK2019: 未解決の外部シンボル "public: int __thiscall Counter::get(void)const " (?get@Counter@@QBEHXZ) が関数 "protected: void __thiscall CounterTest::test_init(void)" (?test_init@CounterTest@@IAEXXZ) で参照されました。
1>CounterTest.obj : error LNK2019: 未解決の外部シンボル "public: void __thiscall Counter::incr(void)" (?incr@Counter@@QAEXXZ) が関数 "protected: void __thiscall CounterTest::test_incr(void)" (?test_incr@CounterTest@@IAEXXZ) で参照されました。
1>CounterTest.obj : error LNK2019: 未解決の外部シンボル "public: void __thiscall Counter::clear(void)" (?clear@Counter@@QAEXXZ) が関数 "protected: void __thiscall CounterTest::test_clear(void)" (?test_clear@CounterTest@@IAEXXZ) で参照されました。
1>C:\/*省略*/CounterSolution\Debug\CounterTest.exe : fatal error LNK1120: 外部参照 4 が未解決です。
1>ビルドログは "file://c:CounterSolution\CounterTest\Debug\BuildLog.htm" に保存されました。
1>CounterTest - エラー 5、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
なにが問題なのでしょう?
cppunit
Re:cppunit
すいませんお返事遅れました。
依存設定を忘れていたようです。
簡単なミスですいません。
しかしシューティングゲームのほうでやってみると
2>リンクしています...
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::initializeStage(void)" (?initializeStage@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::loadFiles(void)" (?loadFiles@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::drawTitleScreen(void)" (?drawTitleScreen@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::drawMainScreen(void)" (?drawMainScreen@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawGameOverScreen(void)" (?drawGameOverScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawGameClearScreen(void)" (?drawGameClearScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::initializeStage(void)" (?initializeStage@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::loadFiles(void)" (?loadFiles@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawTitleScreen(void)" (?drawTitleScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawMainScreen(void)" (?drawMainScreen@GameFrame@@MAEXXZ)" は未解決です。
2>C:\shooting_game\Debug\ShootingTest.exe : fatal error LNK1120: 外部参照 10 が未解決です。
2>ビルドログは "file://\ShootingTest\Debug\BuildLog.htm" に保存されました。
2>ShootingTest - エラー 11、警告 5
========== ビルド: 1 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こちらは依存など全部サイトの書いてあるとおりにしてあるはずなのに直りません。
こちらの問題はなんでしょうか?
依存設定を忘れていたようです。
簡単なミスですいません。
しかしシューティングゲームのほうでやってみると
2>リンクしています...
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::initializeStage(void)" (?initializeStage@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::loadFiles(void)" (?loadFiles@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::drawTitleScreen(void)" (?drawTitleScreen@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""public: virtual void __thiscall ShootingGame::drawMainScreen(void)" (?drawMainScreen@ShootingGame@@UAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawGameOverScreen(void)" (?drawGameOverScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawGameClearScreen(void)" (?drawGameClearScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::initializeStage(void)" (?initializeStage@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::loadFiles(void)" (?loadFiles@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawTitleScreen(void)" (?drawTitleScreen@GameFrame@@MAEXXZ)" は未解決です。
2>ShootingTest.obj : error LNK2001: 外部シンボル ""protected: virtual void __thiscall GameFrame::drawMainScreen(void)" (?drawMainScreen@GameFrame@@MAEXXZ)" は未解決です。
2>C:\shooting_game\Debug\ShootingTest.exe : fatal error LNK1120: 外部参照 10 が未解決です。
2>ビルドログは "file://\ShootingTest\Debug\BuildLog.htm" に保存されました。
2>ShootingTest - エラー 11、警告 5
========== ビルド: 1 正常終了、1 失敗、0 更新不要、0 スキップ ==========
こちらは依存など全部サイトの書いてあるとおりにしてあるはずなのに直りません。
こちらの問題はなんでしょうか?
Re:cppunit
自信ないですが多分できたと思います・・・。
cppunitをbuildするときに/MD->/MT /MDd->/MTd等にして
やってみたらとりあえずエラーは無くすことができました。
まだテストがちゃんとできるか確認してませんが
恐らく出来るんではないかなーっと思います^^;
ありがとうございました。
cppunitをbuildするときに/MD->/MT /MDd->/MTd等にして
やってみたらとりあえずエラーは無くすことができました。
まだテストがちゃんとできるか確認してませんが
恐らく出来るんではないかなーっと思います^^;
ありがとうございました。