C/C++开发

使用CMake静态链接SDL2/SD2_IMAGE

我正在尝试将SDL2作为库添加到我的项目中。我想静态地链接它。我不熟悉C++。 1-为什么SDL网站建议尽可能动态链接? 我了解动态库的好处。然而,假设用户已经安装了您需要的所有库,并准备好在他们的系统中使用,这是一个相当大的假设。 对我来说,动态链接听起来是个好主意的唯一情况是,您使用的是操作系统/平台附带的众所周知的库。 https://wiki.libsdl.org/Instal ..
发布时间:2022-08-21 13:24:17 C/C++开发

在OSX 10.11上使用带有SDL2_IMAGE的SDL2(Clion 1.1中的CMake 3.3)

我正在学习来自reddit.com/r/limeoats的几个教程,以学习一些用C++开发的游戏。我没有使用CMake或Clion的经验,到目前为止我还是设法用谷歌搜索了一下。 在我将OSX更新到El Capitan(10.11)之前,一切都在进行中。似乎我不能再使用#include "SDL2/SDL.h",而是需要使用#include "SDL.h",这样它才能找到SDL标头。当我还使用 ..
发布时间:2022-08-21 13:15:52 C/C++开发

提升ASIO的未定义引用

我在使用Bazel和boost构建opt模式时遇到问题。这是我的错误。 bazel-out/k8-opt/bin/src/_objs/wallet/message_store.o:message_store.cpp:function _GLOBAL__sub_I__ZN3mms13message_storeC2ESt10unique_ptrIN4epee9net_utils4http20ab ..
发布时间:2022-08-21 13:00:05 C/C++开发

如何在Bazel中指定预处理器包含?(-INCLUDE COMMON_Header.h)

我正在尝试使用Bazel中的代码,该代码使用-include标志(https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html)始终包含配置标头。 配置标头设置了标头文件所需的许多#定义,即启用/禁用某些API。 配置标头如下所示: #ifndef CONFIG_H_ #define CONFIG_H_ // part o ..
发布时间:2022-08-21 12:45:02 C/C++开发

将nlohmann/json构建为Bazel库不会带来任何需要构建的错误

我有一个非常简单的Bazel项目,我试图在其中添加https://github.com/nlohmann/json作为依赖项。为此,我在本地克隆了json存储库,并在存储库的根目录中添加了一个BUILD文件,以生成包含单个包含json.hpp文件的cc_library。但当我构建它时,它总是抱怨没有什么可构建的。 ├── json │ ├── BUILD │ ├── // all f ..
发布时间:2022-08-21 12:39:23 C/C++开发

使用Bazel脱机构建C++项目(没有互联网连接)

我尝试使用以下命令从Bazel主页(入门)构建Bazel C++构建教程,但没有连接到Internet:bazel build //main:hello-world Jenkins服务器将不会连接到互联网,因此我无法执行预取或类似操作。有没有办法在另一台计算机上准备我的C++项目,并将依赖项转移到Jenkins服务器以脱机完成?多么?我只需要从下面的错误消息中分别运行该教程: Extr ..
发布时间:2022-08-21 09:43:45 C/C++开发

如何获取第n位值

我是位移位和c++的新手。 假设我有一个uint8_t 00100100(36),我想检查是否设置了第3位。 以下是我现在如何做到这一点的代码,只需要一点时间。 uint8_t x = 36; if(x&1 ..
发布时间:2022-08-20 09:08:45 C/C++开发

Extract&>运算符在C++中究竟是如何工作的

我是一名计算机科学专业的学生,所以对C++语言(考虑到这是我使用C++语言的第一个学期)或编码方面没有太多经验。 我接到一个任务,要从一个简单形式的文本文件中读取整数: 19 3 -2 9 14 4 5 -9 -10 3 . . . 这让我踏上了更好地了解I/O操作符的旅程,因为我需要对此流(DUH)执行某些操作。 我到处找,都找不到关于Extract>>运算符如何在内部工作 ..
发布时间:2022-08-18 12:13:57 C/C++开发

有没有一种方法可以创建一个通用的输出流对象,以便在控制台上打印并在C++中打印到文件中?

我正在编写一段代码,其中我必须在控制台上打印相同的数据并将其打印到文件中。 有没有办法填充通用的输出流对象,然后使用cout在控制台上显示它,并使用fstream和iostream库将其导出到文件中? 推荐答案 当然。您只需创建一个合适的流缓冲区,该缓冲区可能会存储到它在内部写入的其他流缓冲区。然后使用此流缓冲区创建要写入的std::ostream。 例如,下面是此方法的一个简单 ..
发布时间:2022-08-18 12:08:19 C/C++开发

C/C++中高效的溢出免疫算术平均值

两个无符号整数的算术平均值定义为: mean = (a+b)/2 在C/C++中直接实现它可能会溢出并产生错误的结果。正确的实现可以避免这种情况。一种编码方式可能是: mean = a/2 + b/2 + (a%2 + b%2)/2 但这会使用典型的编译器生成相当多的代码。在汇编程序中,这通常可以更高效地完成。例如,x86可以通过以下方式做到这一点(汇编伪代码,我希望您明白这一 ..
发布时间:2022-08-17 18:57:39 C/C++开发

GDI+闪烁

所以我想做一个便宜的Gyazo(截图工具) 问题是光标坐标闪烁,我如何防止这种情况?我已经尝试过WM_ERASEBKGND,但没有任何帮助。 我的代码还有没有其他错误?有什么不好的做法/技巧吗? #include #include #include #pragma comment (lib, "Gdiplus.li ..
发布时间:2022-08-17 15:02:56 C/C++开发

如何使类方法成为协程?

如何使类方法成为协程?这里有一个小例子。在这里,我试图从类方法创建协程,但编译器抛出以下错误: 错误:找不到此协程的承诺类型 52|std::载体vec=co_aWait等待函数1(); 如何正确设置方法的协程特征_特征? auto awaitable_func1() { struct Awaitable { std::vector ..
发布时间:2022-08-15 21:17:11 C/C++开发

在C++20中,如何编写连续的迭代器?

C++20显式支持std::contiguous_iterator_tag。一些STL算法(例如std::copy)可以在连续迭代器上执行得更好。但是,我不清楚程序员应该如何访问此新功能。 为了便于讨论,我们假设我们有一个完全符合C++20的库实现。我想编写尽可能最简单的连续迭代器。 Here's my first attempt. #include cl ..
发布时间:2022-08-15 21:11:31 C/C++开发

如何在C++中通过POSIX和信号机使用ROS服务和串口通信?

我是C/C++中的并发和并行编程新手,所以我的项目需要一些帮助。 我希望在C++中使用POSIX和信号量运行多个进程。因此,程序的结构应该如下所示。 第一个I打开串口(Raspberry PI 4的串口通信)。在打开串口时,两个进程正在运行 第一个是自动运行的主进程,并执行以下操作: 该线程请求奥多姆更新(来自微控制器的压力和IMU)并发布它们。此外,每隔0.3秒检查一次调制解调器收件箱,如果 ..
发布时间:2022-08-15 18:37:44 C/C++开发

不能在C++中包含标头

我正在用C++编写一些程序。我需要包含一些标题(#include )。但当我使用#include和方括号执行此操作时,我得到的错误是此头文件不存在。我需要指定从程序文件到main文件的完整路径。但如果我将这个项目移到其他地方,我需要重新指定所有内容,所以这相当烦人。 我是否必须在标头的main文件中写入一些内容,以便可以将其包括在括号中?我需要在哪个文件夹中下 ..
发布时间:2022-08-14 21:26:21 C/C++开发