Ubuntu14.04 编译 /usr/bin/ld: cannot find -l*** 问题

问题描述
在Ubuntu14系统中使用QTcreatr3.3.0(Based on Qt 5.4.0 (GCC 4.6.1, 64 bit))编译已存在的QT工程时,报错,一共两次

/usr/bin/ld: cannot find -iGL

/usr/bin/ld: cannot find -iSDL

觉得这次主要问题在于一开始g++版本不对应,而自己瞎改,没有中规中矩的使用apt-get install进行适当升级或下载处理,再然后,随意拷贝复制,企图用其他完好的/usr/include/目录覆盖自己出问题的目录文件,U盘拷贝是不会识别并完整拷贝盘符(猜测是软连接之类的)。
依然依靠强大的度娘。

问题原因

一般出现这种错误有以下几种原因:

1.系统缺乏对应的库文件;

2.版本不对应;

3.库文件的链接错误;

4.库文件路径设置问题;

而我出现的问题就在于前两种。

解决方法

对于第1种和第二种错误:

apt-get install libxxx-dev

所以结合网上的博客,输入以下命令解决我的错误

sudo apt
### 运行 Ubuntu 14.04 容器并指定工作目录 为了运行一个基于 `ubuntu:14.04` 的 Docker 容器,并设置特定的工作目录(即所谓的“镜像根目录”,通常指的是容器内的默认路径),可以使用 `-w` 或者 `--workdir` 参数来设定工作目录。然而,在此场景中,如果仅是为了执行 `/bin/echo 'Hello world'` 并不需要特别指明工作目录,因为该命令不依赖于任何文件系统的具体位置。 对于想要显示工作目录的情况,可以在启动容器之前通过 `WORKDIR` 指令定义好所需的工作空间;而在交互模式下启动容器时,则可以直接利用上述提到的参数快速切换到期望的位置: ```bash docker run -it --rm --workdir=/root ubuntu:14.04 /bin/bash -c "/bin/echo 'Hello world'" ``` 这条指令会创建一个新的临时容器实例,进入名为 `/root` 的目录作为初始工作区,随后立即输出字符串 `'Hello world'` 后退出[^1]。 需要注意的是,默认情况下,如果没有显式地声明工作目录,那么大多数官方的基础镜像都会将 `/` 设定为起始点。因此,如果不关心具体的路径而只是单纯希望展示消息的话,下面这种方式也是完全可以接受的: ```bash docker run ubuntu:14.04 /bin/echo 'Hello world' ``` 这将会直接在控制台打印出 `"hello world"` 而不会改变当前的工作目录设置[^2]。 另外,若要使容器以后台守护进程的形式持续不断地发送问候语句至标准输出流,可参照如下做法: ```bash docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done" ``` 这样做的效果是在后台启动了一个不断循环打印 “hello world” 的服务型应用[^3]。 最后,考虑到构建自定义镜像的需求,可以通过编写 `Dockerfile` 来预先配置好所有必要的环境变量以及安装包等内容。例如,给定一段简单的 C++ 程序编译需求,对应的 `Dockerfile` 可能看起来像是这样的结构[^4]: ```Dockerfile FROM gcc:latest RUN mkdir -p /home/user/docker/HelloDocker COPY HelloDocker /home/user/docker/HelloDocker WORKDIR /home/user/docker/HelloDocker #RUN g++ HelloDocker.cpp -o HelloDocker CMD ["./HelloDocker"] ``` 这段脚本描述了一种方法论上的指导方针——先继承最新的 GCC 编译工具链版本,接着准备项目所需的存储空间,复制源码进去之后调整当前位置到最后一步所处的地方,最终给出程序入口点以便后续调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值