问题标签 [libffi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 返回双精度的函数的值错误(libffi)
当函数返回其值时,似乎从 libffi 返回 double 数据类型的函数未正确转换,这是我使用的代码:
结果如下:13830464316077631000.000000
。
该ffi_arg
类型是 的别名unsigned long long
。文档说明ffi_arg
传递给ffi_call
函数的类型参数,如果它小于 ,则用于存储数据sizeof(ffi_arg)
,否则它是指向内存中数据的指针:
sizeof(ffi_arg)
对于非浮点类型,右值必须指向大于或等于的存储。对于较小的返回值类型, 必须使用ffi_arg
or整数类型来保存返回值。ffi_sarg
( https://manpages.debian.org/testing/libffi-dev/ffi_call.3.en.html )
所以我用指针取消引用尝试了它:
这使程序崩溃了。
我应该如何访问使用rc
变量存储的值?
编辑 1
用于编译程序的命令行:
编译时没有错误或警告。
编辑 2
添加 `-Wall' 构建选项后,我得到:
这个警告似乎在libffi 示例中被忽略了。给出的示例对我来说非常有效(带有此警告)。
c - 引用自:/usr/local/opt/glib/lib/libgobject-2.0.0.dylib - 移植到 c (gtk/cairo) 的 bitlib 图形库
我正在(Darwin Aerosol.local 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64)
尝试编译C
测试项目中编写的 - 移植到 c (gtk/cairo) 的 bitlib 图形库。来自回购:[https://github.com/bit101/bitlib_c][1]
-我有以下libgobject-2.0.0.dylib
正在寻找的问题,libffi.6.dylib
但我已经有libffi.7.dylib
,请参阅下面的日志,如何修复链接?
ruby - 安装 travis-cli 时在 macOS 中找不到 libffi 的包配置
我正在尝试安装gem install travis
以travis-cli
按照参考https://rubygems.org/gems/travis使用,但出现以下错误。
此处提到的尝试解决方案https://github.com/ffi/ffi/issues/653:
framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr /include/ruby-2.3.0/ruby/ruby.h:24:10: 致命错误: 'ruby/config.h' 文件未找到#include "ruby/config.h" ^~~~~~~~~ ~~~~~~ 产生1个错误。检查的程序是: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char * framework/Versions/2.3/usr/include/ruby-2.3.0/ruby.h:33: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr /include/ruby-2.3.0/ruby/ruby.h:24:10: 致命错误: 'ruby/config.h' 文件未找到#include "ruby/config.h" ^~~~~~~~~ ~~~~~~ 产生1个错误。检查的程序是: /* begin */ 1: #include "ruby.h" 2: 3: int main(int argc, char *argv) 4: { 5: 返回 0; 6: } /结束 */
任何帮助将不胜感激!尝试找出但没有帮助
xcode - 安装 CocoaPods 时出错 - macOS BigSur
我正在学习如何编程,我正在尝试安装 Cocoapods,但我遇到了sudo gem install cocoapods
.
这就是我得到的:
我知道有一句话说“你必须先安装开发工具”,起初确实如此。然后我安装了 Xcode 命令行工具(我不得不从 Apple Developer 手动下载它,因为该xcode-select --install
行不起作用),并尝试再次安装 cocoapods。但即使在重新启动后,我也会遇到同样的错误。
它也有日志的路径,这就是它所说的:
所以,我被困住了。我目前正在使用 macOS Big Sur Beta 9 和 Xcode 12.0.1(非测试版)。
c++ - 通过 Homebrew 安装 ccls 输出与 libffi 和 llvm 相关的警告消息
我正在尝试设置我的 neovim C++ 开发环境,并想ccls
用作我的 coc 语言服务器。
当我使用 安装时ccls
,Homebrew
它会安装libffi
并llvm
作为依赖项。似乎ccls
安装成功了,但似乎我需要配置PATH
变量,LDFLAGS
并且CPPFLAGS
.
但我不知道libffi
andllvm
是干什么用的,他们提出了不同的LDFLAGS
and CPPFLAGS
,这令人困惑。
可以不导出任何变量来使用ccls
吗?或者,我应该在我的 ? 中导出哪个版本~/.zshrc
?
下面是我的控制台输出brew install ccls
。
python - 重新编译 python 3 包时未拾取本地编译的 libffi 文件
在我需要在本地安装 Python 3 和一些相关软件包以启用 Tkinter 设置并使用 openpyxl 使用 GUI 设置读取/写入 .xlsx 文件的情况下。
首先,我在本地安装了 Python 3.9.1,当我尝试执行“import tkinter”时,它说找不到所需的模块。
然后在本地安装 tcl 和 tk 库并重新编译 Python 库,如下所示。在此步骤之后,安装了 Python 3,然后还构建了 tkinter 库等。
./configure --prefix=~/installed --with-tcltk-libs='-L~/installed/lib' --with-tcltk-includes='-I~/installed/include
接下来,我想在本地安装 openpyxl 以读取/写入 .xlsx 文件。所以我尝试使用 pip3 install openpyxl 安装,但它说
“ModuleNotFoundError:没有名为 '_ctypes' 的模块”
尝试下载 libffi 并在本地安装。然后尝试使用以下命令重新编译 python 文件。
./configure --prefix=~/installed --with-tcltk-libs='-L~/installed/lib' --with-tcltk-includes='-I~/installed/include' LDFLAGS=`pkg-config --libs-only-L~/installed/lib/../lib64 -I~/installed/include
但它无法获取相同的内容,并且在制作 python 文件期间,它说,“以下模块成功构建但由于无法导入而被删除:_ctypes”。
那么,如何确保获取所需/本地安装的 libffi 文件?请提供您的建议!
python - Buildozer 无法在 arm64/aarch64 CPU 上编译 libffi
我正在尝试在我的 Android 手机上运行 Buildozer。为此,我在 Termux App (Android 7) (redmi Note 4) 上使用 Arch Linux pRoot
由于 Google 仅分发 x86_64 版本的 NDK,我正在使用来自此 GitHub 存储库的 aarch64/arm64 Android NDK(版本 r21d)和 SDK:https ://github.com/Lzhiyong/termux-ndk
我正在使用来自 Arch Linux arm 存储库的 JDK 15。
出于测试目的,我使用了一个简单的 hello world 脚本,print("Hello")
当我运行buildozer -v android debug
时,首先一切正常,它会下载东西然后尝试编译它。其他一切都成功编译,除了libffi
.
到目前为止我尝试过的:-
- 我尝试为 armeabi-v7a 和 arm64-v8a 编译,都失败了。
- 我尝试通过 pacman 安装 libffi,没有效果。
- 我尝试创建 Github 问题,没有回复。
- 我试图询问堆栈溢出,收到很多反对意见,说所有日志和代码都应该粘贴在有问题的问题上,而不是在外部网站上,删除旧问题。
这是我的buildozer.spec
文件:-
libffi
编译失败时出现以下错误:-
这是 config.log :-
任何帮助?
python - 从缺少'_ctypes'的源代码构建Python3.9.2
我有一个与我在这里能够解决的问题类似的问题,在 docker 容器中构建 Python3.9.2 时,构建成功完成但缺少 ctypes
ModuleNotFoundError: No module named '_ctypes'
尝试上述帖子中的相同方法没有成功,我什至尝试安装最新的 libffi-3.3,结果相同,所有 libffi 头文件和库都已到位。
似乎只_ctypes_test
构建了共享对象。
我找到了一些关于此的门票,但对我没有任何帮助:
- https://bugs.python.org/issue34823
- https://bugs.python.org/issue14527
- https://bugs.python.org/issue30090
知道如何使它适用于最新的 Python 3.9 吗?
更新: 在 Python 3.7.10 和 3.8.8 上测试,它似乎工作正常,所以它可能在 3.9 上发生了变化。*
更新 2:
我_ctypes.cpython-39-x86_64-linux-gnu.so
从预建的 docker 中获取文件pyhton:3.9.2-slim
并将其放入我的容器中/usr/local/lib/python3.9/lib-dynload/_ctypes_test.cpython-39-x86_64-linux-gnu.so
并且它可以工作,import ctypes
没有引发此错误(我必须使用libffi-3.2.1
而不是构建 python 3.3
)。为什么我无法make
构建_ctypes
?
ruby-on-rails - 由于 LoadError,Rails 无法启动(找不到存在的文件)
我在 ubuntu 20.04 上有一个一直运行到上个月的 rails 应用程序。但是证书问题让我重新安装了 nginx 和乘客以及一些依赖项。
但是,所有 rails 命令 ( console
, server
, assets:precompile
) 现在都失败并出现以下错误
但是当我检查时,一切似乎都很好..文件确实存在:
关于如何让应用程序再次运行的任何想法?