【发布时间】:2021-08-02 20:09:36
【问题描述】:
我正在开发一个用 C 语言编写的项目,但我想使用 Boost。我在我的主文件中包含了 Boost 库,如下所示:
#define GNU_SOURCE
#define _GNU_SOURCE
#include <stdlib.h>
#include "initialize.h"
#include <stdio.h>
#include <math.h>
#include <boost/random/linear_congruential.hpp>
我正在使用gcc -W -Wall -I/usr/local/boost_1_76_0 main.c -o executable -lm -lboost_random进行编译。
main.c:8:10: fatal error: iostream: No such file or directory
8 | #include <iostream>
我猜 Boost 库正在使用 <iostream>,但由于它不是 C 库,我不知道如何处理这个问题...我应该用 C++ 编译吗?
【问题讨论】:
-
使用 C++ 作为“C with boost”?
-
您想要通用解决方案还是只需要LCG?
-
@AyxanHaqverdili 你到底是什么意思?
-
@pulsar_hh 我添加了一个答案来解释
-
您可以为函数争吵 C 链接:extern "c" {...} - 但您需要使用 C++ 编译接口代码。