标签: compiling

未定义的引用编译 14.04.2 上的 clang 教程

我尝试从clang 的 libtooling 教程(“组合在一起”部分)编译代码。编译作品:

g++ `llvm-config-3.5 --cxxflags` -fno-rtti  -c test.cpp -o test.o
Run Code Online (Sandbox Code Playgroud)

我从 clang 得到了未定义的引用,所以我什至尝试链接到所有的 clang 库:

CLANG_LIBS="$(ls /usr/lib/llvm-3.5/lib/libclang* | sed -e 's/.*lib/-l/g' -e 's/\.a//g' -e 's/\.so.*//g' | tr '\n' ' ' )"
g++ `llvm-config-3.5 --ldflags --libs` $CLANG_LIBS test.o -o test
Run Code Online (Sandbox Code Playgroud)

我得到 ~ 15 个未定义的引用:

    test.o: In function `ASTFrontendAction':
/usr/lib/llvm-3.5/include/clang/Frontend/FrontendAction.h:215: undefined reference to `clang::FrontendAction::FrontendAction()'
test.o: In function `SyntaxOnlyAction':
/usr/lib/llvm-3.5/include/clang/Frontend/FrontendActions.h:129: undefined reference to `vtable for clang::SyntaxOnlyAction'
test.o: In function `std::unique_ptr<clang::tooling::FrontendActionFactory, std::default_delete<clang::tooling::FrontendActionFactory> > clang::tooling::newFrontendActionFactory<clang::SyntaxOnlyAction>()::SimpleFrontendActionFactory::~SimpleFrontendActionFactory()':
/usr/lib/llvm-3.5/include/clang/Tooling/Tooling.h:309: undefined reference to `clang::tooling::FrontendActionFactory::~FrontendActionFactory()'
test.o: …
Run Code Online (Sandbox Code Playgroud)

shared-library compiling c++ clang

4
推荐指数
1
解决办法
7275
查看次数

从终端编译 Java 代码时没有输出

当我尝试运行我的 Hello World 程序时,它没有显示任何输出:

$ ls
hello.class hello.java 
$ javac hello.java
$
Run Code Online (Sandbox Code Playgroud)

gedit command-line compiling java

4
推荐指数
1
解决办法
1万
查看次数

静态库的作用是什么?

默认情况下,静态库位于/usr/lib/usr/lib64但我使用以下命令在我的操作系统中删除了所有它们:

find / -name *.a -exec rm -rf {} \;
Run Code Online (Sandbox Code Playgroud)

我的 linux 已经可以了,一切正常!

我们能说吗?

" Package.rpm 或 *.deb 包含编译器输出,只有它们需要共享库。

当我们从源代码安装软件时,如果在结构中使用静态库,链接器在编译期间,将静态库复制到它的可执行文件中。

如果*.a我的系统中没有文件,也许将来如果我从源代码安装软件,我会遇到问题”

请用简单的方式向我解释

package-management shared-library compiling

4
推荐指数
1
解决办法
1305
查看次数

尽管安装了 automake,但无法找到包 aclocal

我正在使用 Oracle VM VitualBox 5..(主机操作系统 window10 上的 Ubuntu14.04 LTS)并且想要编译这个软件。我首先安装了 automake,然后尝试安装 aclocal,但它说 E: Unable to locate Package aclocal(我也使用了 update 命令)。我浏览了很多网站,但没有找到解决方案。Automake 已安装,在 package.ubuntu.com 我得到了答案,您的搜索没有结果。我是一个完全的初学者,将不胜感激快速回复。

apt compiling

4
推荐指数
1
解决办法
7982
查看次数

如何在 Ubuntu 14.04 中为 python3 安装 dlib

我正在按照安装指南https://cmusatyalab.github.io/openface/setup/进行操作。我做了:

 mkdir -p ~/src
 cd ~/src
 tar xf dlib-19.1.0.tar.gz
 cd dlib-19.1.0/python_examples
 mkdir build
 cd build
 cmake ../../tools/python
 cmake --build . --config Release
 sudo cp dlib.so /usr/local/lib/python3.4/dist-packages/
Run Code Online (Sandbox Code Playgroud)

它说此时我应该能够运行import dlib,但是如果我从 virtualenv 运行它会给我

ImportError: No module named dlib
Run Code Online (Sandbox Code Playgroud)

如果我从 virtualenv 外部运行它,它会给出:

ImportError: dynamic module does not define init function (PyInit_dlib)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?如何为python安装dlib?

UPD:我为 Python2 尝试过同样的方法:

sudo cp dlib.so /usr/local/lib/python2.7/dist-packages/
Run Code Online (Sandbox Code Playgroud)

它适用于python2。那么如何对python3做同样的事情呢?

python compiling c++ cmake software-installation

4
推荐指数
1
解决办法
3万
查看次数

为什么在 Ubuntu 14.04 上构建的 WebP 实用程序不起作用并显示库错误?

我已经按照WebP官方网站上的这些说明在 Ubuntu 14.04 上构建了WebP 实用程序。由于我已经成功地完成了所有工作,我的系统应该让我分别使用cwebpdwebp实用程序来压缩和解压缩图像。但是,每当我尝试压缩/解压缩任何图像时,系统都会给我以下错误,

cwebp: error while loading shared libraries: libwebp.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我想,该页面还描述了我的问题和解决方案,如下所示,

“该库通常安装在 /usr/local/lib/ 目录下。为避免运行时错误,请确保您的 LD_LIBRARY_PATH 环境变量包含此位置。”

我试图以这种方式添加/usr/local/lib到我的LD_LIBRARY_PATH环境变量中。但它仍然给我那个错误。

我现在该怎么办?

但是,我也从这里下载了预构建的二进制文件。这个二进制文件正在运行。但是,为了运行这些二进制文件,我必须转到该二进制文件的目录,或者path/to/the/binaries/./cwebp每次都必须写入。如果我知道如何在 Ubuntu 上安装这些预构建的二进制文件,我也会得到帮助。

shared-library compiling software-installation 14.04 webp

4
推荐指数
1
解决办法
2626
查看次数

源 vs 导出 vs 导出 LD_LIBRARY_PATH

当使用makecmake指令从源代码编译应用程序时,通常会说,

source <some path> <parameter>

export <some text>

此外,很多时间 LD_LIBRARY_PATH出现,与export.

最新的差异sourceexport?为什么我们需要它们?

compiling make cmake software-installation

4
推荐指数
1
解决办法
4832
查看次数

Checkinstall 不会全局安装软件包

我正在尝试ffmpeg从源代码编译并创建deb包,以便全局安装 ffmpeg 并可以使用dpkg -r命令将其删除。

这是我的命令。

# Installing FFmpeg
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfdk-aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-libvpx \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree
PATH="$HOME/bin:$PATH" make
sudo checkinstall --pkgname=ffmpeg --pkgversion="5:$(date +%Y%m%d%H%M)-git" --backup=no \
  --deldoc=yes --fstrans=no --default
hash -r
Run Code Online (Sandbox Code Playgroud)

一切都编译成功,deb 包被创建,但是当我尝试使用ffmpeg我得到

ffmpeg: command …
Run Code Online (Sandbox Code Playgroud)

package-management apt compiling ffmpeg checkinstall

4
推荐指数
1
解决办法
1372
查看次数

`apt-get -b source &lt;prog-name&gt;` 究竟做了什么?

它下载源代码和补丁,然后呢?有人如何像手动 apt-get 那样构建下载的源代码?

compiling

4
推荐指数
1
解决办法
142
查看次数

在 Ubuntu 中编译 C 代码

我是一名菜鸟程序员,正在尝试在 Ubuntu 中编译 C 代码。我已经安装了 GCC。我如何从这里开始?

compiling gcc c

4
推荐指数
1
解决办法
4893
查看次数