[英]C++/C Shareing global variable between 2 projects in Visual Studio
在VS中,我有一個包含2個項目的sln:
項目A:
啊
#include <string>
extern bool flag;
A.cpp
#include "A.h"
bool flag = false;
void funcA()
{
int i = 0;
}
項目B:
BH
#include <stdio.h>
B.cpp
#include "B.h"
#include "..\ProjectA\A.h"
void main()
{
int j = 10;
flag = true;
std::cout << j << "\n" << flag ;
}
我將projectA設置為DLL,將projectB設置為EXE。
在鏈接中,出現錯誤:錯誤LNK2001:無法解析的外部符號“布爾標志”(?flag @@ 3_NA)
我應該在設置中手動將projectB指定為projectA嗎?
謝謝。
像這樣:
啊
#ifndef LIBA_API
#define LIBA_API __declspec(dllimport)
#endif
extern LIBA_API bool flag;
A.cpp
#define LIBA_API __declspec(dllexport)
#include "A.h"
LIBA_API bool flag = false;
void funcA()
{
int i = 0;
}
(無需更改Bh
或B.cpp
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.