➜ fortranRW g++ -shared -fPIC -o libmy_cpp_code.so ReadWrite.cpp In file included from ReadWrite.cpp:4: ReadWrite.h:4:34: error: ISO C++ forbids declaration of ‘string’ with no type [-fpermissive] 4 | void my_cpp_function(const & string fullName); | ^~~~~~ ReadWrite.h:4:41: error: expected ‘,’ or ‘...’ before ‘fullName’ 4 | void my_cpp_function(const & string fullName); | ^~~~~~~~
时间: 2024-02-10 21:09:10 浏览: 28
这个错误是因为你在函数声明中的参数类型不正确。正确的写法应该是:
```
void my_cpp_function(const std::string& fullName);
```
你需要将代码中的`& string`替换成`const std::string&`,这样才能正确地声明一个string类型的参数。
相关问题
g++ -c src/main.cpp -I src -O0 -g -fPIC -Werror -o main.o make: g++: No such file or directory
这个错误提示表明你的系统中没有安装 g++ 编译器。你可以尝试在命令行中输入以下命令来安装 g++:
- 在Ubuntu系统中执行以下命令:
```
sudo apt-get update
sudo apt-get install g++
```
- 在CentOS系统中执行以下命令:
```
sudo yum install gcc-c++
```
安装完成后,再次执行编译命令即可。
gcc c_utils.c -fpic -shared -o c_utils.so -std=c99 windows下怎样运行
在Windows环境下使用GCC编译生成的动态链接库(c_utils.so)可以通过以下步骤进行运行:
1. 确保已安装GCC编译器:如果未安装GCC编译器,可以从MinGW(Minimalist GNU for Windows)网站下载并安装MinGW,或者从CYGWIN网站下载并安装Cygwin,这两个都是提供GCC编译器的选择。
2. 打开命令提示符(CMD):在Windows中,按下Win + R键打开运行框,输入"cmd",然后按下回车键,即可打开命令提示符。
3. 切换到动态链接库所在的目录:使用`cd`命令切换到存放动态链接库(c_utils.so)的目录。假设动态链接库在"D:\myproject"目录下,可以使用以下命令切换到该目录:
```
cd D:\myproject
```
4. 运行可执行程序:使用GCC编译生成的动态链接库创建的可执行程序(例如"main")进行运行,可以通过以下命令运行:
```
gcc main.c -L. -lc_utils -o main
```
上述命令中,"-L."用于指定当前目录为链接库所在目录,"-lc_utils"用于指定链接的库为"c_utils","-o main"用于指定生成的可执行程序的名称为"main"。在运行该命令后,将生成名为"main.exe"的可执行文件。
5. 执行可执行程序:在命令提示符中运行生成的可执行程序(main.exe),可以使用以下命令:
```
main.exe
```
运行该命令后,将执行"main"程序,并使用动态链接库中的函数。
需要注意的是,以上步骤仅适用于使用GCC编译生成的动态链接库在Windows环境下的运行。如果使用其他编译器或需要其他特殊设置,可能需要进行相应的调整。