- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是第一次尝试使用英特尔 MKL 库。我正在使用 CMake 构建一个使用 MKL 的简单项目。我在 KDevelop 4.6 环境中工作。
项目构建和安装没有错误。这样链接库就成功了。在 KDevelop 中执行时,出现以下错误:
加载共享库时出错:libmkl_intel_lp64.so:无法打开共享对象文件:没有这样的文件或目录
CMakeLists 文件基本上如下所示:
project(testmkl)
cmake_minimum_required(VERSION 2.6)
enable_language(Fortran)
set(CMAKE_C_FLAGS "-std=c99 -Wall -lpthread")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
# MKL
find_package(MKL REQUIRED)
include_directories(${MKL_INCLUDE_DIR})
find_package(M REQUIRED)
include_directories(${M_INCLUDES})
add_executable(testmkl ./main.c)
target_link_libraries(testmkl ${M_LIBRARIES} ${MKL_BLAS} ${MKL_LAPACK} ${MKL_INTEL} ${MKL_SEQUENTIAL} ${MKL_CORE})
install(TARGETS testmkl DESTINATION .)
libmkl_intel_lp64.so
位于 LP_LIBRARY_PATH
环境变量的第一个文件夹中,因此我预计在执行过程中不会出现任何错误。实际上,当从命令窗口运行程序时,一切似乎都正常。
可执行文件的 ldd 输出是:
>> ldd ./testmkl
linux-vdso.so.1 => (0x00007fff951fe000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003061a00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003061200000)
libmkl_intel_lp64.so => /opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_intel_lp64.so (0x00007f6f65ef6000)
libmkl_sequential.so => /opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_sequential.so (0x00007f6f65846000)
libmkl_core.so => /opt/intel/composer_xe_2013_sp1.0.080/mkl/lib/intel64/libmkl_core.so (0x00007f6f64317000)
libc.so.6 => /lib64/libc.so.6 (0x0000003060e00000)
/lib64/ld-linux-x86-64.so.2 (0x0000003060600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003061600000)
因此正确找到了链接库。为什么该程序不能在 KDevelop 环境中运行?
欢迎任何帮助,谢谢!
最佳答案
第一个简短的问题:你是从终端执行你的程序还是试图从 KDE gui 执行(例如通过双击)?
在许多 linux 操作系统上,现在 LD_LIBRARY_PATH 已被弃用。由于 /etc/ld.so.conf
和 /etc/ld.so.conf.d
中列出的内容,LD 找到了依赖关系。您可能必须在某处添加脚本以包含您的库。事实上,您只需在这些脚本中添加您的库的路径。
来自 /etc/ld.so.conf/libc.conf
的示例:
# libc default configuration
/usr/local/lib
这可能对您有用。
编辑:您还应该运行 ldconfig
来更新 LD 数据库和/或使用 ldconfig -v
,它的作用相同但具有扩展输出
edit2: ldconfig
可能需要 root 权限才能被 GUI 理解
关于c - KDevelop4:加载共享库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409558/
我知道 VisualStudio , 有更多可能查看 std::vector v 中的值, 喜欢 v._first, 100 -> 显示前 100 个元素,或更改一些日志文件。有没有办法在 KDeve
我正在尝试使用我的系统 KDevelop 安装来调试 KDevelop 项目,但我遇到了一个问题,即我的(正在调试中)KDevelop 应用程序无法从本地安装目录读取插件。相反,它尝试通过使用此 ap
我有一个不属于我的源代码,没有注释,也完全没有缩进。是不是真的很乱啊。你知道是否有一些选项,kdevelop 的插件可以自动缩进吗? 最佳答案 假设您使用的是 KDevelop 4 而不是(不再支持)
我在 Kubuntu 17.10 上使用 Kdevelop 5.1.2。 当我在编辑器中将鼠标指针移动到一行代码时,不断出现包含我通常不想看到的信息的巨大工具提示,隐藏代码并使鼠标指针难以移动到预期的
我刚刚在我的 Ubuntu 机器上安装了 KDevelop(Ubuntu 9.10 上的 KDevelop 3.9.95) sudo apt-get install kdevelop 我创建了一个新项
我正在尝试在 Debian 6.0.6 上使用 KDevelop 4.0.1(在 KDE 4.4.5 和 gdb 7.0.1 上)调试一些 C++ 应用程序。无论我闯入代码的哪一部分,调试器都会在逐步
有没有一种方法/工具可以自动删除 kdevelop 4.3.1 版本上的空白行? 例如: tmpTime.tm_year = RTC_Time->bYear1 + RTC_Time->bYear; t
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我是 Kdevelop 的新手,我正在尝试 2 小时来运行一个基于 C++ 风格的输入参数的项目。 代码在这里: int main(int argc, char** argv) { std::s
如何在 KDevelop 中拥有自动递增的构建版本号? 我想为我的本地 c++ 设置半自动版本控制中的项目 kdevelop . 类似于: int MajorVersion = 1; // this
Kdevelop 维基 says (bottom of the page) *如果在配置构建工具链后 KDevelop 仍无法正确找出包含路径,您可以手动将每个目录的包含路径添加到 .kdev_inc
Kdevelop 有没有可能有两个窗口?我有两个液晶显示器。我希望我可以在第一个上获得调试信息,在第二个上获得代码。 这对我真的很有帮助。 谢谢你的回答。 最佳答案 您是否尝试过启动两个 kdevel
我需要使用步骤(Step over,Step over instruction ...)和断点。 但是选项 Step over,Step over instruction 等等。在菜单运行中被禁用。
我刚刚安装了 kdevelop 4.1,然后创建了一个正常的 hello world,构建没问题,但是当我按下执行时,它给了我(没有指定有效的可执行文件)任何想法? 最佳答案 嗯,启动配置 - 我们最
我想在 KDevelop 中进行多行编辑,类似于在按住 alt 时在 Visual Studio 中进行列编辑,这样我的光标就会跨越多行,并且我按下的每个键同时写入每一行。 This link似乎表明
我正在尝试使用 KDevelop 编写一个基于 cmake 的简单应用程序。 KDevelop 创建了两个 myProject.kdev4 项目文件:一个在项目文件夹中,一个在 .kdev4 隐藏子文
如何在 KDevelop 中克隆一行?是否有任何快捷方式或菜单项? 最佳答案 要向上/向下复制行,请使用: Ctrl+Alt+向上 Ctrl+Alt+向下 要向上/向下移动行,请使用: Ctrl+Sh
特别是,我正在尝试安装 kdev-control-flow-graph 我已经设法从 git 克隆源代码,cmake 源代码来构建安装到/usr/local/lib 的 kdevcontrolflow
我的 ubuntu 机器上安装了 KDevelop 4.3.1 版。我想让编辑器使用手动生成的ctags文件。它不会检测位于 ~/projects/project_name/tags 的标记文件。 如
我正在使用 KDevelop 进行 C++ 开发和调试。看起来我在某处取消引用 NULL 指针,因为我得到: *** Program received signal SIGSEGV (Segmenta
我是一名优秀的程序员,十分优秀!