Sunday 15 August 2010

xcode - Unit test unresolved symbol when using Objective-C++ -


I am trying to make unit tests in my project, I have several projects with tens of static libraries and apps Therefore, I created a new project for this static library in this area and added it to the Koko Touch Unit Test Bundle. Then I added a test for the work given in a library in this workspace, I like Library X, I added link dependency on LibEx to my unit test bundle. But when I run Unit Test (CMD + U) I get the linker error:

  Undefined symbols for architecture i386: "_ OSVersion", referenced from: - [MyUnitTest testMethodFromLibX] MyUnitTestTest "_methodFromLibX" in .o, referenced symbol (s) not found for architecture I386   

Why is not the test bundle attached to Library X? I have Libacax.A and MyNunnetsst in the Build folder I can see octets.

OK, thanks, I found the cause of the problem - my Libace objective-C ++ library was Therefore, Linker messed up all the names, but my Unit-Test objective was Library, so when it was added, it could not explicitly name or class by name, because the linkage is different. Therefore, I am converting unit-tests into Objective-C ++ libraries (just * .m - & gt; * .mm) and everything works!

No comments:

Post a Comment