导入/导出变量时出错
Error while importing/exporting a variable
我正在尝试导出/导入exe和dll之间的变量。有三个文件夹。B.cpp在一个正在生成exe的文件夹中。C.cpp在另一个正在生成dll的文件夹中。
A.h在一个共享文件夹中,如果我们需要在文件夹之间使用某些东西,我们使用这个文件夹。它只有头文件。
A.cpp位于生成dll的文件夹中。
在A.h 中
__declspec(dllexport) extern int* val;
在A.cpp 中
__declspec(dllexport) int* val;
B.cpp
#include <A.h>
set val
C.cpp
#include <A.h>
get val and using val in some function
**我得到错误B.obj:错误LNK2001:未解析的外部符号
我真的很感激任何帮助或至少一些建议,在那里我可以了解更多关于这个问题的信息。
对于宏,使用类似的东西
#ifdef VAL_EXPORTS
#define VAL_API __declspec(dllexport)
#else
#define VAL_API __declspec(dllimport)
#endif
在A.h
中,使用extern
(即VAL_API extern int* val;
(声明它;在A.cpp
中,定义它时不使用extern
,即VAL_API int* val = nullptr;
在B.h
、#include A.h
中,并为其分配任意值。
在C.h
中,只要#include A.h
,就可以使用val
。
相关文章:
- 导入/导出变量时出错
- 在头文件中定义变量不会出错
- 分段 访问私有类变量时出错
- C++ 循环屏障中的倒计时使用原子变量出错[请无锁的解决方案]
- 变量用作C中的函数参数后出错
- 在 mingw64- 变量下的窗口中编译 openvpn3 时出错,未在范围内声明
- 如何对 int 变量应用验证,使其仅接受整数数据,并且在任何其他数据的情况下不会出错?
- 在循环中重新声明 for 循环变量时出错
- 使用静态变量未解析的外部符号/未定义的引用时出错
- 为什么当我们把变量"u"的数据类型从长整型更改为整型时,模幂会出错?
- 将值设置为 char ** 变量 c++ 时出错
- 在同一命名空间中声明变量和函数是否出错?[C++]
- 转换(常量字符*)变量出错
- Boost Python:在函数中通过引用传递变量时出错
- 将 (cin >> someVar) 的返回分配给 istream 变量时出错 C++
- 链接外部变量 c++ 时出错
- 在C++中访问静态私有变量时出错
- 为什么我在向类[C++]添加私有变量时出错
- 执行set_difference时出错:变量结果不是结构
- 访问数组时出错 - 变量"分数"周围的堆栈已损坏