- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的 centos 机器上交叉编译 Beagle Bone Black。
我正在创建一个应用程序“BasicComponentsTest.cpp”,它使用我创建并内置到静态库中的“SimFrameProducer”类,即“libspu.a”。请参阅下面的 makefile 和代码以供引用。
在使用“libspu.a”静态链接库编译主应用程序时出现链接错误,但是当我直接链接对象时它工作正常(参见直接对象 makefile)即它仅在使用静态库编译时失败我创建的 SPU 对象显然可以正常编译并创建静态库文件“libspu.a”。
我认为唯一可能错误的是“ar”命令对于交叉编译的对象不能正常工作,这是正确的吗?我收到此错误还有其他原因吗?顺便说一句,我还是 c++ 的新手。
[root@CVDEV SPU]# make
make: Warning: File `Makefile' has modification time 3.6e+04 s in the future
/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-g++ -Wall -I ../../SPU/Include -L ../../SPU -lspu BasicComponentsTest.cpp -o Test1
/tmp/cc6Ck7Xj.o: In function `main':
BasicComponentsTest.cpp:(.text+0x1e): undefined reference to `SimFrameProducer::SimFrameProducer(char*)'
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
[root@CVDEV SPU]#
BasicCompontentsTest.cpp主应用文件
#include <cstdlib>
#include "SimFrameProducer.h"
using namespace std;
/*
*
*/
int main(int argc, char** argv) {
SimFrameProducer* prod = new SimFrameProducer((char*)"Test1");
prod->Start();
prod->Stop();
delete prod;
return 0;
}
SimFrameProducer.h
#include "SPUBase.h"
#include "SPUFrameProducer.h"
class SimFrameProducer:public SPUFrameProducer, public SPUBase {
public:
SimFrameProducer(char* instanceId);
virtual ~SimFrameProducer();
void Start();
void Stop();
private:
};
SimFrameProducer.cpp
#include "SimFrameProducer.h"
#include "Include/SimFrameProducer.h"
SimFrameProducer::SimFrameProducer(char* instanceId):SPUBase((char*)"TYPE_SAMPLE", instanceId) {
}
void SimFrameProducer::Start(){
}
void SimFrameProducer::Stop(){
}
SimFrameProducer::~SimFrameProducer() {
}
Makefile 主要 BasicComponentsTest 应用程序
CC=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-g++
SPU_PATH=../../SPU
INC=-I $(SPU_PATH)/Include
LIB=-L $(SPU_PATH)
all:
$(CC) -Wall $(INC) $(LIB) -lspu BasicComponentsTest.cpp -o Test1
Makefile 链接直接对象而不是静态库
CC=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-g++
SPU_PATH=../../SPU
INC=-I $(SPU_PATH)/Include
LIB=-L $(SPU_PATH)
OBJS=$(SPU_PATH)/SPUBase.o \
$(SPU_PATH)/SPUFrame.o \
$(SPU_PATH)/SPUFrameProducer.o \
$(SPU_PATH)/FFTFrameProducer.o \
$(SPU_PATH)/SimFrameProducer.o
## Target: all
all:
$(CC) -Wall $(INC) $(OBJS) BasicComponentsTest.cpp -o Test1
SPU 库的 Makefile
CC=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux/bin/arm-linux-gnueabihf-g++
INC=-I Include
## Target: all
all:
$(CC) -Wall $(INC) -c SPUBase.cpp
$(CC) -Wall $(INC) -c SPUFrame.cpp
$(CC) -Wall $(INC) -c SPUFrameProducer.cpp
$(CC) -Wall $(INC) -c FFTFrameProducer.cpp
$(CC) -Wall $(INC) -c SimFrameProducer.cpp
ar cr libspu.a SPUBase.o SPUFrame.o SPUFrameProducer.o FFTFrameProducer.o SimFrameProducer.o
最佳答案
您的存档缺少目标文件索引。 ar
命令行应该是:
ar rcs libspu.a SPUBase.o SPUFrame.o SPUFrameProducer.o FFTFrameProducer.o SimFrameProducer.o
你错过了 s
选项,使你的存档只是文件中文件的集合(存档 - ar 不仅用于库 - 尽管它总是用于什么)而不是比一个图书馆。
关于c++ - beagle bone black 的 undefined reference 链接器错误静态库交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26559966/
我正在尝试学习 React.JS,但有些事情让我大吃一惊。 我有这个标题组件: class Header extends Component { render() { return ;
我正在尝试学习 React.JS,但有些事情让我大吃一惊。 我有这个标题组件: class Header extends Component { render() { return ;
我有一个 Cordova iPhone 应用程序,它使用状态栏插件。状态栏的背景设置为黑色,而文本曾经是白色。但是自从插件从0.1.3版本升级到0.1.8之后,文字变成了黑色。 是否可以恢复旧行为,或
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Difference between Color.red and Color.RED 我看到 Java 类
基于poetry docs : Likewise if you have command line tools such as pytest or black youcan run them usin
我正在使用 Shadowbox.js example code显示带有消息“此站点仍在 build 中!”的阴影框在页面加载时: Shadowbox.init({ // let's sk
我注意到 eclipse 有一个奇怪的行为? 我有一个静态变量: public static colorID = R.color.Black; 有时它与 R.color.Black 匹配: if(co
我正在尝试通过运行Windows 7的笔记本电脑通过腻子将SSH连接到Beaglebone Black。 打开BBB的电源并在Windows上安装所需的BBB驱动程序后,我可以在Chrome浏览器中浏
我正在尝试评估颜色选择器选择的颜色的暗度,看它是否“太黑”,如果是,则将其设置为白色。我想我可以使用十六进制值的第一个字符来实现这一点。它在工作,但它也在切换一些合法的“浅色”颜色。 我有以下代码:
我无法弄清楚为什么下面的代码中有一个黑色矩形,据我所知,隐藏选项留下了一些东西,但我不知道如何隐藏它或更改它颜色。 这是什么以及我们如何操纵它? Select flow slides
我昨天买了 beaglebone black 并尝试使用 USB 连接它。正如我所读到的那样,它预装了运行在 192.168.7.2 的 Linux Distro,我们可以使用 ssh 访问它。但我无
我们目前正在为 BeagleBone Black 开发一个应用程序(使用标准的 Angstrom 发行版)。它在 GDB(由 Netbeans 远程控制)下运行了一段时间(5-10 分钟),但在某个相
Arial Black网路安全吗? 我已经读过它,但是当我将其放入字体声明中时,就得到了Times New Roman的支持。 有人知道为什么吗? 最佳答案 根据代码样式字体调查(实际上可能是最好的估
假设你有一个 red-black tree这是一个有效的 binary search tree并且不违反任何这些规则: 节点是红色或黑色。 根是黑色的。 所有叶子 (NIL) 都是黑色的。 每个红色节
我想在 Jenkins 共享库中实现黑色扫描仪。这个想法是,当库看到 pyproject.toml 时,它将执行黑色检查。该命令设置为 black --check ./ 。这将为所有项目设置一次,因此
我想在 3D 绘画工具上构建撤消/重做功能。每次绘制后我将纹理存储在一个数组中,如下所示: var image3 = mesh.material.map.image;
所以我有一个红黑树如下: 2 = Root Black Children = 1 (Black/Left), 4 (Red/Right) Children of 1 = NIL & NIL => He
我不太确定如何解决。所以我正在编程 blackJack 并且我有我的函数声明(如图所示),对于我的 add_card_to_hand 函数,我不知道该怎么做。我有 2 个参数,一手牌是我通过引用传递的
这个问题在这里已经有了答案: Disable Visual Studio 2015 extra debug option (5 个答案) 关闭 6 年前。 因此,每当我尝试在 Visual Stud
自动视差 AndEngine给出黑屏。 public class MainActivity extends SimpleBaseGameActivity { static final int
我是一名优秀的程序员,十分优秀!