C++ 如何在第三个项目(可执行)中使用来自两个项目(静态库)的函数?
我在一个解决方案中有三个项目。我正在构建两个静态库,并试图将它们链接到我的可执行项目(称为集成)。我已将C++ 如何在第三个项目(可执行)中使用来自两个项目(静态库)的函数?,c++,visual-studio,linker,static-libraries,solution,C++,Visual Studio,Linker,Static Libraries,Solution,我在一个解决方案中有三个项目。我正在构建两个静态库,并试图将它们链接到我的可执行项目(称为集成)。我已将.lib文件目录添加到集成项目中的链接器/常规和链接器/输入库目录中 在我的一个静态库项目中,我有以下内容: #include "acquisition.h" int main(void) { run_acquisition(); return 0; } acquisition.cpp #include "acquisition.h" //other stuff i
.lib
文件目录添加到集成项目中的链接器/常规和链接器/输入库目录中
在我的一个静态库项目中,我有以下内容:
#include "acquisition.h"
int main(void) {
run_acquisition();
return 0;
}
acquisition.cpp
#include "acquisition.h"
//other stuff
int run_acquisition() {
//runs function
}
收购
#pragma once
int run_acquisition();
在合奏中,我有以下内容:
#include "acquisition.h"
int main(void) {
run_acquisition();
return 0;
}
在这种情况下,我得到的错误是“标识符”run_acquisition“未定义”。该程序看到acquisition.h,但我似乎无法找出调试该程序的问题。欢迎任何反馈
更新#1:
我修正了打字错误。这是构建日志-
3>------ Build started: Project: ensemble, Configuration: Debug x64 ------
3>main.cpp
3>main.obj : error LNK2019: unresolved external symbol "int __cdecl run_acquisition(void)" (?run_acquisition@@YAHXZ) referenced in function main
3>C:\XIMEA\Examples\Bin\ximea_camera.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
3>C:\MirrorcleTech\SDK-Cpp\x64\Debug\ensemble.exe : fatal error LNK1120: 1 unresolved externals
3>Done building project "ensemble.vcxproj" -- FAILED.
请发布从生成输出窗口复制的完整准确错误消息检查拼写,
acquisition
是键入编译或链接器错误的棘手词?在acquisition.h
中,您有一个键入错误:int run_acquisition()代码>。请注意您的警告:警告LNK4272:库计算机类型“x86”与目标计算机类型“x64”冲突。
您混合了32位和64位代码