C++ 将框架静态链接到Xcode命令行工具

C++ 将框架静态链接到Xcode命令行工具,c++,xcode,macos,frameworks,C++,Xcode,Macos,Frameworks,我是运行10.10.5约塞米蒂和Xcode 6.3.2的mac用户。在文档中有一个名为“Game”的文件夹(由用C++编写的命令行工具项目生成),其结构如下: Game: Game.xcodeproj (my project) Game: main.cpp (my c++ source) Build: Products: Debug: G

我是运行10.10.5约塞米蒂和Xcode 6.3.2的mac用户。在文档中有一个名为“Game”的文件夹(由用C++编写的命令行工具项目生成),其结构如下:

Game:

     Game.xcodeproj (my project)

     Game:
          main.cpp (my c++ source)

     Build:
          Products:
                  Debug:
                        Game (an executable)
                        SDL2.framework (a development library)
我想链接到Build/Products/Debug中的SDL2.framework,这样它就可以从这个特定的文件夹在任何Mac上运行

我已经执行了以下步骤:

我将SDL2.framework从Build/Products/Debug拖到我的项目导航器中。我未选中“需要时复制”

这会自动添加“使用库链接二进制文件”构建阶段,其中包括SDL2.framework

根据需要,SDL2.framework是相对于“Build/Products/Debug/SDL2.framework”中的组引用的

我在main.cpp中写道:

 # include "SDL2/SDL.h"
生成的可执行文件在我的机器上运行,无论层次结构中最高的“游戏”文件夹在哪里

我的项目不是在/Library/Frameworks中引用SDL2.framework。我可以在那里更改SDL2.framework的名称,程序仍在运行。这表明它是从/Build/Products/Debug中获取的

但是,当我将整个文件夹放在与我相同的mac上时,可执行文件会运行,但由于以下错误而失败:

  Last login: Sat Mar 26 11:32:08 on ttys002
  [~/ 1> /Volumes/NO\ NAME/Game/Build/Products/Debug/Game ; exit;
  dyld: Library not loaded: @rpath/SDL2.framework/Versions/A/SDL2
  Referenced from: /Volumes/NO NAME/Game/Build/Products/Debug/Game
  Reason: image not found
  Trace/BPT trap
  logout

  [Process completed]
花了几个小时寻找解决方案,我目瞪口呆。我做错了什么