命名空间编译问题
Namespace compilation issues
我是Visual Studio的新手(使用的是2005版)。我遇到了一个名称空间问题,我无法弄清楚。
我正在尝试创建一个静态库,稍后将链接到应用程序。
所以,我有一个XXX.h文件,代码如下
#ifndef _XXX_X_H
#define _XXX_X_H
namespace LLL_NWK
{
void lllInit();
}
#endif
我在XXX.c中包含了XXX.h,代码看起来像
#include "XXX.h"
using namespace LLL_NWK;
void lllInit()
{
}
然而,当我构建库时,我遇到了以下错误
error C2061: syntax error : identifier 'LLL_NWK'
error C2059: syntax error : ';'
error C2449: found '{' at file scope (missing function header?)
error C2059: syntax error : '}'
我无法找出这个错误的原因。非常感谢您的帮助和指点。
首先,using namespace LLL_NWK
在这里不合适。您正在namespace LLL_NWK
的外部声明和定义函数void lllInit()
。您需要将定义放在命名空间中,可以这样做:
void LLL_NWK::lllInit()
{
}
或者像这样:
namespace LLL_NWK
{
void lllInit()
{
}
}
其次,确保将代码编译为C++。
C编译器不支持该代码-请确保将文件名重命名为.cpp,而不是.C。在这种情况下,不支持命名空间。请参阅这篇文章:C 中的命名空间
相关文章:
- 编译包含字符串的代码时遇到问题
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 编译要在英特尔Hyperscan中使用的.cc文件时出现问题
- 如何在 Mac 上正确编译C++,当它在 Linux 上编译没有问题时?
- Rextester 语言编译C++问题
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- 编译 llvm 插件时出现问题:llvm/Config/llvm-config.h:没有这样的文件或目录
- C++ 多级虚拟继承编译问题
- 编译问题:在函数"_start"中:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- Qt Visual Studio 2015 加载项编译问题
- 构造函数和 G++ 编译配方的问题
- 解析问题 - 预期的非限定 ID - #include <array> 编译错误
- libssh 问题编译问题未定义的错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- Visual Studio 2017问题编译了C 代码,而该代码则在Linux中编译
- 这个C++代码有什么问题?编译错误:调用“测试::测试(测试)”没有匹配函数
- 试图编译基本Boost PropertyTree示例时出现问题-编译错误.该怎么做
- 如何解决***缺少分隔符的问题.编译QT(或支持库)时