我正在搞一个测试项目,让我们称之为它mytest,它有一个 .cpp 和一个 .h 文件,内容并不重要 - 想象它包含一些简单的hello_world()类型函数......
因此,我正在制作一个通用的 makefile 将其编译到各种库输出中,其中ls -l我的输出文件夹给出:
libmytest.a
libmytest.so -> libmytest.so.1.0
libmytest.so.1 -> libmytest.so.1.0
libmytest.so.1.0
Run Code Online (Sandbox Code Playgroud)
到目前为止一切顺利,我的共享/静态库已创建。
现在我的 make 文件中有一个make install目标,它基本上将标头复制到/usr/local/include,并将所有这些库文件复制到/usr/local/lib
然后我制作了另一个测试 cpp 文件usertest.cpp(抱歉,名称不是很有想象力/描述性),它链接到库文件。
我通过多种方式编译:
g++ -Wall -Werror -I. -lmytestg++ -Wall -Werror -I. -lmytest -static然后我删除了 libmytest.so* 文件,所以我只有 libmytest.a 库文件然后/usr/local/lib我做了同样的测试:
g++ -Wall -Werror -I. -lmytestg++ -Wall -Werror -I. -lmytest -static最后我删除了 libmytest.a 文件并复制回 .so 文件,因此我只有 libmytest.so* 库文件然后/usr/local/lib …
我正在尝试配置Oracle XE,但面临以下问题:
root @ venky-Lenovo-G510:〜#/etc/init.d/oracle-xe-18c配置
/ bin / df:无法识别的选项'--direct'尝试使用'/ bin / df --help'了解更多信息。指定用于数据库帐户的密码。Oracle建议输入的密码长度至少为8个字符,至少包含1个大写字母,1个小写字母
大小写字符和1位数字[0-9]。请注意,相同的密码将是
用于SYS,SYSTEM和PDBADMIN帐户:确认密码:配置Oracle Listener。侦听器配置成功。配置Oracle数据库XE。**** [FATAL] [DBT-50000]无法检查可用内存。****
数据库配置失败。检查“ / opt / oracle / cfgtoollogs / dbca”下的日志。
root @ venky-Lenovo-G510:〜#
这和什么有关/bin/df: unrecognized option '--direct'吗?或者是其他东西 ?
谢谢
所以我们尝试用 C# 开发一个数学类,我们做到了。将结果与 System.Math 的原始数学类进行比较表明我们总是迟到一点或很多(特别是触发方法)。
但是当我们使用像 Absolut value 这样不包含大量代码的基本方法时,奇迹就出现了
if(value < 0) return -value;
else return value;
Run Code Online (Sandbox Code Playgroud)
我们仍然远远落后。
我不能让这个 abs 方法更小,我猜使用三元运算符也无济于事。
是因为 System.Math 是用 C 编写的吗?如果我们用母语写它会不会更快,尽管我读过它似乎不会改变太多。最后,一个 dll 能不能比一个类工作得更快,如果是,为什么,如果不是......为什么呢?
已经谢谢了。
所以我正在为我和我的团队开发一个Modular C++库.这是我的情况:
我有一个A包含复杂存储控件的库class a.我还有一个库B,它类似于包含特殊响应的复杂协议的接口.现在,我希望在一个可以使用的类a中有一个函数B.这对于X使用A和的程序很有帮助B.但也有程序Y,它只会使用A而不是复杂的库B.
如何在C++中获得此行为?我是否需要宏,符号或是否有其他方法可以轻松实现这一点,以便我不需要在程序中包含额外的文件?哪种类型的库更好?
我为用于安装英特尔 MKL 的定制配方进行了 bitbake。
下载 MKL 的链接: https://software.intel.com/content/www/us/en/develop/tools/mpi-library/choose-download.html
做了之后
bitbake foo
Run Code Online (Sandbox Code Playgroud)
表明:
ERROR: lmkl-1.0-r0 do_package: lmkl: Multiple shlib providers for libiomp5.so: lmkl, lmkl (used by files: /home/rsa/foo/build/tmp/work/corei7-64-poky-linux/lmkl/1.0-r0/packages-split/lmkl/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/benchmarks/hpcg/bin/xhpcg_skx)
ERROR: lmkl-1.0-r0 do_package: lmkl: Multiple shlib providers for libtbbmalloc.so.2: lmkl, lmkl (used by files: /home/rsa/foo/build/tmp/work/corei7-64-poky-linux/lmkl/1.0-r0/packages-split/lmkl/opt/intel/compilers_and_libraries_2020.0.166/linux/tbb/lib/intel64_lin/gcc4.8/libtbbmalloc_proxy.so.2)
ERROR: lmkl-1.0-r0 do_package: lmkl: Multiple shlib providers for libiomp5.so: lmkl, lmkl (used by files: /home/rsa/foo/build/tmp/work/corei7-64-poky-linux/lmkl/1.0-r0/packages-split/lmkl/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/benchmarks/hpcg/bin/xhpcg_avx)
ERROR: lmkl-1.0-r0 do_package: lmkl: Multiple shlib providers for libiomp5.so: lmkl, lmkl (used by files: /home/rsa/foo/build/tmp/work/corei7-64-poky-linux/lmkl/1.0-r0/packages-split/lmkl/opt/intel/compilers_and_libraries_2020.0.166/linux/mkl/benchmarks/hpcg/bin/xhpcg_knl)
ERROR: lmkl-1.0-r0 do_package: lmkl: Multiple shlib providers for …Run Code Online (Sandbox Code Playgroud) 我在WSL 2、Ubuntu\xc2\xa022.04 (Jammy Jellyfish) 下安装了 TensorFlow,按照使用 pip 安装 TensorFlow中的说明进行操作。
\n*我还安装了适用于 Windows 的 Nvidia 驱动程序,并且在我的另一个 WSL\xc2\xa02 中,我使用 GPU 支持的模拟程序。
\n一切看起来都很好。我在安装过程中没有收到任何错误消息,但是当我在Python\xc2\xa03中导入TensorFlow时,出现以下错误:
\n2023-02-12 14:49:58.544771: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library \'libnvinfer.so.7\'; dlerror: libnvrtc.so.11.0: cannot open shared object file: No such file or directory\n2023-02-12 14:49:58.544845: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library \'libnvinfer_plugin.so.7\'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory\n2023-02-12 14:49:58.544874: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. …Run Code Online (Sandbox Code Playgroud) 我正在尝试用 rust 编译 lib,但出现以下错误:
to use `async fn`, switch to Rust 2018 or later
Run Code Online (Sandbox Code Playgroud)
这是我的Cargo.toml:
[package]
name = "name"
version = "0.1.0"
edition = "2018"
Run Code Online (Sandbox Code Playgroud)
并使用以下命令行进行编译(此处的文档):
rustc --crate-type=lib src/apis/my_file.rs
Run Code Online (Sandbox Code Playgroud)
有人有想法吗?
看起来 Apache 客户端已被弃用,是否有另一种方法可以在不安装花哨的库的情况下进行 http 请求?
我应该使用 Apache 客户端吗?如何导入,我的Android Studio 不想导入HttpClient、HttpGet、...
谢谢
我的代码中有这一行,from faker import Factory但出现错误ImportError: no module named faker。所以我查看了 Stack Overflow 和 pip 安装了 fake-factory。它说安装成功,但是当我再次运行代码时,它给了我另一个导入错误:
ImportError: The ``fake-factory`` package is now called ``Faker``.
Please update your requirements.
Run Code Online (Sandbox Code Playgroud)
我在这里缺少什么?
我正在用 C++ 编写一个仅包含头文件的库。使事情尽可能简单,用户只需#include mylib.h
在某些情况下,(高级)用户可能想要配置库的行为(例如错误处理、编译时或运行时检查、调试输出以及可能的其他内容)
请不要告诉我执行此操作的最佳方法(甚至标准方法),因为否则问题将被搁置!
现在,我有一个文件“config.h”作为我的库的一部分,其中包含相关内容,#define MYLIB_XYZs但我意识到这完全是无稽之谈,因为用户需要修改库本身才能进行配置。
您能帮我了解一下,为什么从dll导入函数和数据时我们需要.lib文件吗?
我听说,它包含来自相应dll的导出函数和数据元素的列表,但是当我使用CFF Explorer探索我的dll时,我发现dll已经具有导出函数的地址,因此从理论上讲我可以链接我的.dll的程序,没有任何其他文件。
您能否详细解释一下.lib文件中存储的数据类型?
而且,是的,我知道,Visual Studio迫使我们将.lib文件添加到其他依赖项部分,但是为什么它真正需要它们呢?
我试图用C++创建一个简单的.lib文件,尝试使用C++/CLI包装技术在我的C#中使用代码.问题是,我的C++代码本身没有成功编译.它一直在推动"不是一个有效的Win32应用程序"错误.我尝试查找同样的问题,许多答案表明Windows XP存在.NET框架问题.但我在'Visual Studio 2015(v140)'平台工具集上运行它.我的桌面是运行Windows 10 pro的64位操作系统(x64处理器).
这是我的项目属性的片段:
#pragma once
namespace AddTwoNumbersLib
{
class AddClass
{
public:
static double Add(double x, double y);
};
}
Run Code Online (Sandbox Code Playgroud)
这是我的.cpp代码:
#include "AddClass.h"
namespace AddTwoNumbersLib
{
double AddClass::Add(double x, double y)
{
return x + y;
}
}
Run Code Online (Sandbox Code Playgroud)
因为我是业余爱好者,所以我正在努力解决这个问题.非常感谢您的帮助!
我在C中有这个代码,我想移植到Delphi,但我不能让它工作.
.CPP代码
#include <Windows.h>
#include <io.h>
#include <stdio.h>
#include "GLibExp.h"
#pragma comment(lib, "GLib.lib")
void MyCFunc(LPCTSTR GStr)
{
GFile GVar = NULL;
GVar = GrfLoad(GStr, 1);
if ( !GVar )
{
printf("Error during loading!\n");
} else
printf("All fine!\n");
GrfFree(GVar);
system("pause");
}
void main()
{
CHAR StrG[MAX_PATH] = "Test.grf";
MyCFunc(StrG);
return;
}
Run Code Online (Sandbox Code Playgroud)
GLibExp.h
#ifndef GLibExpH
#define GLibExpH
#if defined(GRF_DLL)
#define GEXPORT __declspec(dllexport)
#else
#define GEXPORT extern
#endif
class CGFILE;
typedef CGFILE* GFile;
//typedef void* GFile; //Also works like this
#ifdef __cplusplus
extern …Run Code Online (Sandbox Code Playgroud) lib ×13
c++ ×5
dll ×2
python ×2
.net ×1
android ×1
apache ×1
c# ×1
class ×1
compilation ×1
config ×1
delphi ×1
external ×1
gpu ×1
header-files ×1
http ×1
importerror ×1
lazarus ×1
math ×1
openembedded ×1
oracle ×1
oracle-apex ×1
performance ×1
rust ×1
tensorflow ×1
ubuntu-18.04 ×1
visual-c++ ×1
yocto ×1