Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation 手动编辑.la文件以使“make”工作正常吗?_Compilation_Libtool - Fatal编程技术网

Compilation 手动编辑.la文件以使“make”工作正常吗?

Compilation 手动编辑.la文件以使“make”工作正常吗?,compilation,libtool,Compilation,Libtool,虽然我在源代码中做了一些修改,但在最后的CCLD中我犯了一个错误,说找不到libudev.la。 我试图重新安装udev libudev1 libudev dev,但未能使“make”正常工作 我在谷歌上找到了一个解决方案: 上面说“简单的解决方法是从/usr/lib中删除所有*.la文件” 我试过了,但又失败了 最后,我决定手工制作: 我从ubuntu的旧版本复制了一个libudev.la并对其进行了编辑。 它是: 我们可以打开的名称3。 dlname='libudev.so.0' # Nam

虽然我在源代码中做了一些修改,但在最后的CCLD中我犯了一个错误,说找不到libudev.la。 我试图重新安装udev libudev1 libudev dev,但未能使“make”正常工作

我在谷歌上找到了一个解决方案: 上面说“简单的解决方法是从/usr/lib中删除所有*.la文件” 我试过了,但又失败了

最后,我决定手工制作: 我从ubuntu的旧版本复制了一个libudev.la并对其进行了编辑。 它是: 我们可以打开的名称3。 dlname='libudev.so.0'

# Names of this library.
library_names='libudev.so.0.13.0 libudev.so.0 libudev.so'

# The name of the static archive.
old_library='libudev.a'
...
# Names of this library.
library_names='libudev.so.1.3.5 libudev.so.0 libudev.so.1 libudev.so'

# The name of the static archive.
old_library=''
我发现libudev的版本已经改变了,所以我改变了其中的一些东西,使它成为: dlname='libudev.so.0'

# Names of this library.
library_names='libudev.so.0.13.0 libudev.so.0 libudev.so'

# The name of the static archive.
old_library='libudev.a'
...
# Names of this library.
library_names='libudev.so.1.3.5 libudev.so.0 libudev.so.1 libudev.so'

# The name of the static archive.
old_library=''
我删除了旧图书馆,因为我找不到libudev.a

我成功地进行了制造和安装,到目前为止,它运行良好。
但我仍然想知道这样做可以吗?

这些名字是用来做什么的?我认为,一般来说,在构建包时,应该让系统在链接时选择它需要的任何东西。你能写下这些清单在哪里使用以及用于什么吗?关于可能使用这些带有显式文件名的库的构建系统的更多信息?我不知道这些库的名称用于什么,所以我很好奇更改它们和使用la文件是否正确。而且,就现在而言,这是我要问的,你想实现什么??你想做什么样的工作?你从哪里得到的?这些不是手动配置,如果它正在寻找不存在的东西,那么您正在做一些错误的事情。你想链接什么样的信息来源?通常-ludev就足够了,您不应该关心库的确切版本或文件的命名方式。当然,当从源代码构建时。@Pihhan您好,我正试图从源代码编译spice gtk,在make的最后,我的意思是,CCLD,make由于libudev.la的不足而失败。该文件存在于Ubuntu 12.04中,但不存在于13.04或14.04中,但所有需要的.so文件都存在。这就是我自己复制和编辑文件的原因。奇怪的是,它认为它应该使用该文件。libudev.la是否在spice gtk资料中提及?为什么你认为在13.04或14.04中仍然需要它?升级后您是否清理并重新配置了项目?