- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在 Ubuntu16.04 中构建一个 .so 文件。 gcc的版本是:
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
我在同一个目录中有 student_info.cpp、student_info.h 和 Makefile。
student_info.h的内容是:
#include <iostream>
using namespace std;
class student_info
{
public:
student_info();
private:
char* name;
int score;
public:
void setName(char* name)
{
this->name = name;
}
void setScore(int score)
{
this->score = score;
}
char* getName()
{
return this->name;
}
int getScore()
{
return this->score;
}
};
student_info.cpp 是:
#include <iostream>
#include "student_info.h"
using namespace std;
extern "C"
{
student_info* student_info_new() {return new student_info();}
}
Makefile 是:
student_info.so: student_info.cpp student_info.h
g++ -std=c++11 -shared -fPIC -o student_info.so student_info.cpp
执行make
命令后。我得到了 student_info.so。但是在使用 ldd -r student_info.so
之后,我得到以下错误:
linux-vdso.so.1 => (0x00007fff269fa000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f2111228000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f2111012000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2110c48000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f211093f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f21117ac000)
undefined symbol: _ZN12student_infoC1Ev (./student_info.so)
如何解决这个 undefined symbol 错误?谢谢。
最佳答案
ldd
表示 student_info
的默认构造函数未定义。您需要在 student_info.h
或 student_info.cpp
中提供默认构造函数的定义。例如:
class student_info
{
public:
student_info() : name(), score() {} // Declaration and definition.
private:
char* name;
int score;
// ...
};
关于linux - 如何解决构建的.so文件出现undefined symbol错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56458642/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!