如何解决 comiler 错误:'v_bias'不是命名空间名称
How to solve comiler error: 'v_bias' is not a namespace-name
排序简要介绍我正在尝试做的事情:
我想在我的Windows PC上使用vnode-lp。我已经安装了MinGW。我已经安装了必要的依赖项,如LAPACK和BLAS库以及Profil/BIAS。所有库的安装都通过了make
和make install
过程,没有错误。我希望(!我已经设法正确安装了它。
现在的问题:
现在我试图编译一个简单的程序,其中基本上是北化,只是一个 #include"vnode.h"。首先,我用Visual Studio尝试Microsoft它。由于这给了我几个错误,我尝试使用 MinGW 用 g++ 编译它。这给了我同样的错误。它始于
./matrix.w:90:17: error: ‘v_bias’ is not a namespace-name
问题:
如何将 vnodelp 包含在 c++ 程序中并在 windows 下编译它而不会出错,我错过了什么吗?
题外话:
我正在尝试让它运行一个多星期,但不知道该怎么办了。
C++绝对不是C,为C++设计的包永远不会作为C代码编译和运行。所以,除非你通过创建一个.dll或类似的东西来做一些花哨的事情,否则你试图做的事情真的无法完成,即使那样,我认为你也不会得到你想要的功能。为什么不用C++编写代码并使用 g++ 或类似的编译器进行编译?
我终于设法解决了这个问题。如果有人遇到同样的问题,这里是解决方案。
我在通话中错过了某些内容。以下是对我有用的完整电话:
g++ -o2 –Wall –Wno-deprecated –DNDEBUG – DPROFIL_VNODE – DMAXORDER=50 –I(path to profil bias)/include –I(path to profil bias)/include/BIAS –I(path to profil bias)/src/Base –I(path to vnodelp)/FADBAD++ -I../include –DNDEBUG –c –o (filename).o (filename).cc
g++ -L(path to profil bias)/lib –L(path to lapack)/lib –L../lib –o (filename) (filename).o –lvnode –lProfil –lBias –llr (path to lapack)/lib/liblapack.lib (path to lapack)/lib/libblas.lib –lstd++
趣事:
这也符合 gcc 而不是 g++
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- CUDA内核和数学函数的显式命名空间
- 嵌套的匿名命名空间
- CMakeLists.txt中的命名空间表示法
- 类是C++中的命名空间吗
- 在命名空间中使用全局命名空间中的函数
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 是否可以将函数导入命名空间,但不能导出它?
- C++ C++类中的命名空间降级
- 如何使用 soong 命名空间来有条件地编译模块
- 使用 Clang++ 有没有办法将文件作为命名空间等包含?
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何通过命名空间调用非静态方法
- 在命名空间名称之前加上 :: 是什么意思?