gpt4 book ai didi

c++ - g++自定义动态库链接错误undefined symbol

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:17 24 4
gpt4 key购买 nike

好的,我现在正在寻找解决方案 2 天。我找不到任何东西来解决我的问题。

目前正在发生什么?因此,我尝试使用 g++ 在 Linux Mint Maya 13 上创建一个动态库 (.so)。

foolib.h:

#pragma once
#include <stdio.h>

void foo(
void
);

foolib.cpp:

#include "foolib.h"

void foo(
void
)
{
printf ("Hello World!\n");
};

主要.cpp:

#include "foolib.h"

int main(
int argc,
char** argv
)
{
foo ();
};

我用这些指令编译了这些文件:

libfoo.so:

g++ -shared -o libfoo.so -fpic foolib.cpp

富:

g++ main.cpp -o foo -L -lfoo

创建 libfoo.so 没有任何错误,但 foo 抛出 undefined reference 'foo'。我从几个网页上复制了示例代码并尝试编译它,结果总是一样。

有趣的是,我可以链接 libdl.so (-ldl),加载我的 .so 和我的函数。我做错了什么?

我希望我能正确地表述我的问题。如果我没有,请告诉我。 :)

最佳答案

你应该使用:

g++ main.cpp -o foo -L./ -lfoo

g++ main.cpp -o foo libfoo.so

关于c++ - g++自定义动态库链接错误undefined symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13250856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com