- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一些构建脚本(例如 numpy 中的脚本)只需执行以下操作即可使 gcc 编译的库存档与 Visual Studio 链接器一起工作:
copy libfoo.a foo.lib
令人惊讶的是它似乎有效。有谁知道为什么吗?
最佳答案
取决于几个因素,它可能会或可能不会工作 - 并且有几个原因。我认为你的意思是完全的、可逆的兼容性。
另一种解释是,由于历史原因,MSVC 链接器与 .a 格式兼容。 IIRC,它从 UNIX 时代就存在了。同样,尽管我只能看到这适用于纯 C,而不适用于 C++。
编辑:实际上是相反的。 Windows 版本的 GCC 工具包创建与 Microsoft 的 COFF 格式兼容的静态库。
关于windows - libfoo.a 和 foo.lib 是兼容格式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262688/
(希望这不会变得太复杂...) 我构建了一个第三方 C++ 库 libfoo具有静态(libfoo.a)和共享(libfoo.so)版本。目标文件是使用 -fPIC 创建的。 libfoo有几个用于配
我做的每件事都是“正确的”: 在 jni/Android.mk 中使用 LOCAL_MODULE := libfoo 创建了我的 JNI 模块 调用了 System.loadlibrary("libf
一些构建脚本(例如 numpy 中的脚本)只需执行以下操作即可使 gcc 编译的库存档与 Visual Studio 链接器一起工作: copy libfoo.a foo.lib 令人惊讶的是它似乎有
在我的 CMakeLists.txt 中,我想创建一个名为 foo 的二进制文件和一个名为 libfoo(.a|.so) 的库。 所以我尝试使用下面的代码: add_executable(foo ${
在不实现链接器或不使用 ldd 的情况下,如何找到库的完整路径?在 Linux 上有可用的标准库吗? (可能是 POSIX?) 在故意使用 libGL.so.1 的文件上使用 ldd 和 grep,它
我编写了一个依赖于某些 C 扩展的 Python 模块。这些 C 扩展依次依赖于几个已编译的 C 库。我希望能够分发与所有依赖项捆绑在一起的此模块。 我整理了一个最小示例 ( it can be fo
看来你可以通过/path/to/libfoo.so作为 gcc 的输入文件并且程序将与它正确链接,就像使用 -lfoo 一样选项与 -L/path/to 结合使用. 如果我知道所需版本库的完整路径,有
如何“注册”我的库 foo.c,编译为 libfoo.so,以将其与 -lfoo 链接>?是将其路径附加到 LD_LIBRARY_PATH 吗?是通过运行 sudo ldconfig 吗? 出于好奇,
我正在为 Debian GNU/Linux 发行版构建一个共享库,我担心它不需要导出的内部函数中的符号数量。由于该库是使用 autoconf/automake/libtool 构建的,所以答案很简单:
我是一名优秀的程序员,十分优秀!