我正在使用Mac OS X Yosemite,版本10.10.3.
我使用macport安装了python2.7和pip,如http://johnlaudun.org/20150512-installing-and-setting-pip-with-macports/中所做的那样
我可以成功安装包并在我的python环境和python脚本中导入它们.但是,找不到与可以从终端中的命令行调用的包关联的任何可执行文件.
有谁知道什么可能是错的?(更多细节如下)
例如,按照http://wiki.ros.org/jade/Installation/Source中的说明安装名为"rosdep"的软件包时
我可以运行:sudo pip install -U rosdep
安装没有错误,相应的文件位于/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
但是,如果我尝试运行:sudo rosdep init,则会出错:"sudo: rosdep: command not found"
这不是特定于包的错误.我在计算机上使用pip安装的任何软件包都能得到这个.我甚至尝试过添加
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
我的$PATH.但是在命令行中找不到可执行文件,即使这些包在python中完美运行.
情况:我目前在 LLVM IR 中解析前端语言并生成函数定义。
我可以使用 LLVM12 C++ API 将函数定义编译为 WebAssembly 文件。
但是,生成的 wasm 代码不会“导出”任何已编译的函数,因此无法从加载 wasm 文件的 javascript 访问。
问题:有人可以让我知道我可能遗漏了什么吗?如何告诉 llvm 编译器为定义的函数创建导出。我尝试将函数可见性设置为 llvm::GlobalValue::DefaultVisibility。但这似乎没有帮助。
为函数生成的 IR(具有默认可见性)看起来像
define double @f(double %x) #0 {
entry:
%multmp = fmul double %x, 2.000000e+00
ret double %multmp
}
attributes #0 = { "target-features" }
Run Code Online (Sandbox Code Playgroud)
将包含函数定义的模块编译到 Wasm 目标的函数如下所示:
define double @f(double %x) #0 {
entry:
%multmp = fmul double %x, 2.000000e+00
ret double %multmp
}
attributes #0 = { "target-features" }
Run Code Online (Sandbox Code Playgroud)
这会输出一个看起来像的 wasm 文件
(module
(type …Run Code Online (Sandbox Code Playgroud)