0

I have some problem about linking static library

I was added a static library build target. And added linked library list. enter image description here

But a link error was occurred. I think there is not -lCocosDenshion flag in the command. enter image description here

And I set "Valid Architectures" as "VALID_ARCHS = armv6 armv7 i386" for all build targets.

Here is a full log about this event. I need your help. Thank you for your help!

Ld /Users/tae1560/Library/Developer/Xcode/DerivedData/HelloWorld-avkpbeubpocaklejnbukdyudocwz/Build/Products/Debug-iphonesimulator/HelloWorld.app/HelloWorld normal i386
cd /Users/tae1560/Documents/Projects/daegu/HelloWorld/ios
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk -L/Users/tae1560/Library/Developer/Xcode/DerivedData/HelloWorld-avkpbeubpocaklejnbukdyudocwz/Build/Products/Debug-iphonesimulator -F/Users/tae1560/Library/Developer/Xcode/DerivedData/HelloWorld-avkpbeubpocaklejnbukdyudocwz/Build/Products/Debug-iphonesimulator -filelist /Users/tae1560/Library/Developer/Xcode/DerivedData/HelloWorld-avkpbeubpocaklejnbukdyudocwz/Build/Intermediates/HelloWorld.build/Debug-iphonesimulator/HelloWorld.build/Objects-normal/i386/HelloWorld.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=40000 -framework Foundation -framework UIKit -framework CoreGraphics -lcocos2d -framework OpenGLES -lxml2 -lz -framework QuartzCore -o /Users/tae1560/Library/Developer/Xcode/DerivedData/HelloWorld-avkpbeubpocaklejnbukdyudocwz/Build/Products/Debug-iphonesimulator/HelloWorld.app/HelloWorld
Undefined symbols for architecture i386:
"CocosDenshion::SimpleAudioEngine::sharedEngine()", referenced from:
  Episode1Scene::init() in Episode1Scene.o
  Episode2Scene::init() in Episode2Scene.o
  Episode3Scene::init() in Episode3Scene.o
  Episode4Scene::init() in Episode4Scene.o
  Episode5Scene::init() in Episode5Scene.o
  Episode6Scene::init() in Episode6Scene.o
  MenuScene::init() in MenuScene.o
  ...
"CocosDenshion::SimpleAudioEngine::playBackgroundMusic(char const*, bool)", referenced from:
  Episode1Scene::init() in Episode1Scene.o
  Episode2Scene::init() in Episode2Scene.o
  Episode3Scene::init() in Episode3Scene.o
  Episode4Scene::init() in Episode4Scene.o
  Episode5Scene::init() in Episode5Scene.o
  Episode6Scene::init() in Episode6Scene.o
  MenuScene::init() in MenuScene.o
  ...
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

2 回答 2

0

您是否尝试手动将其添加到链接器标志?

如果添加它没有帮助,您可能需要确保文件位于正确的位置,并将其路径添加到 Header 搜索路径!

如果这也不起作用,您可以简单地将 CocosDenshion 库作为源代码拖入并解决整个问题。但这可能不是你想要的。

于 2013-01-06T15:16:27.073 回答
0

您需要在项目中添加 CocosDenshion 文件夹。然后你将需要像这样的框架

AudioToolbox.framework
AVFoundation.framework
OpenAL.framework
于 2014-02-12T19:46:51.967 回答