Hi all,
Am trying to figure out how to use assertions and have just installed Visual Assertion.
Have two projects: Calculator and Test
Code:#include "Calculator.h" Calculator::Calculator(void) { } int Calculator::add(int a, int b) { int result = a + b; return result; } int main(void) { Calculator cal; int result = cal.add(3, 3); return result; } Calculator::~Calculator(void) { }This code give the following error message when building:Code:#include "stdafx.h" #include <cfixcc.h> #include "C:\Users\Jannick\Documents\Visual Studio 2010\Projects\Calculator\Calculator\Calculator.h" class ExampleTest : public cfixcc::TestFixture { public: void TestOne() { Calculator cal; int res = cal.add(3, 3); CFIXCC_ASSERT_EQUALS(6, res); } void TestTwo() {} }; CFIXCC_BEGIN_CLASS( ExampleTest ) CFIXCC_METHOD( TestOne ) CFIXCC_METHOD( TestTwo ) CFIXCC_END_CLASS()
1>------ Build started: Project: Test, Configuration: Debug Win32 ------
1>Build started 25-03-2011 22:03:12.
1>InitializeBuildStatus:
1> Touching "Debug\Test.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1> All outputs are up-to-date.
1> Test.cpp
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Link:
1> Creating library C:\Users\Jannick\Documents\Visual Studio 2010\Projects\Calculator\Debug\Test.lib and object C:\Users\Jannick\Documents\Visual Studio 2010\Projects\Calculator\Debug\Test.exp
1>Test.obj : error LNK2019: unresolved external symbol "public: __thiscall Calculator::~Calculator(void)" (??1Calculator@@QAE@XZ) referenced in function "public: void __thiscall ExampleTest::TestOne(void)" (?TestOne@ExampleTest@@QAEXXZ)
1>Test.obj : error LNK2019: unresolved external symbol "public: int __thiscall Calculator::add(int,int)" (?add@Calculator@@QAEHHH@Z) referenced in function "public: void __thiscall ExampleTest::TestOne(void)" (?TestOne@ExampleTest@@QAEXXZ)
1>Test.obj : error LNK2019: unresolved external symbol "public: __thiscall Calculator::Calculator(void)" (??0Calculator@@QAE@XZ) referenced in function "public: void __thiscall ExampleTest::TestOne(void)" (?TestOne@ExampleTest@@QAEXXZ)
1>C:\Users\Jannick\Documents\Visual Studio 2010\Projects\Calculator\Debug\Test.dll : fatal error LNK1120: 3 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:01.13
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
I cant understand why its not possible for me to simply create an object of type Calculator and then ude its method add(int, int).
(Bonus question :-) Why does the Calculator.cpp have to have a main method? Is is possible to just make a class that have usable methods like my add(int, int) and not have a main method?)



LinkBack URL
About LinkBacks



