簡體   English   中英

C ++ / C在Visual Studio中的2個項目之間共享全局變量

[英]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;
}

(無需更改BhB.cpp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM