我有 mylib.lib:
//mylib.h:
int foo();
//mylib.cpp:
#include "mylib.h"
const int arr[] = {1, 2};
int foo() {
return arr[0];
}
和 proxylib.lib:
//proxylib.h:
int bla1();
int bla2();
//proxylib.cpp:
#include "../mylib/mylib.h"
#include "proxylib.h"
int bla1() {
return 2;
}
int bla2() {
return foo();
}
和exe项目:
//main.cpp
#include "../proxylib/proxylib.h"
#include <iostream>
int main() {
std::cout << bla1();
return 0;
}
主项目引用了proxylib.lib 项目,proxylib 项目引用了mylib.lib 项目。在编译并将项目链接到最终的 exe 后,我从 exe 中的 mylib.lib 中获得了未使用的全局变量“arr”,即使函数“foo”不在 exe 中。为什么 ?
谢谢 !