如何在visualstudio中链接库

How to link library in visual studio

本文关键字:链接 visualstudio      更新时间:2023-10-16

我正试图用SMILE库在c++中创建一个项目(http://genie.sis.pitt.edu/index.php/downloads)。在网站上,我下载了适用于x64的Visual Studio 2010/VC 10.0 SP1版本(我安装了windows 7和Visual Studio 2010)。创建一个新项目后,我转到项目属性->配置->C/C++->其他包含的目录,并设置包含库的文件夹的路径。当我试图编译Iget时,错误:

1>------ Inizio compilazione: Progetto: IDSS_2013, Configurazione: Debug Win32 ------
1>  stdafx.cpp
1>  AssemblyInfo.cpp
1>  IDSS_2013.cpp
1>  Generazione del codice in corso...
1>  .NETFramework,Version=v4.0.AssemblyAttributes.cpp
1>LINK : fatal error LNK1104: impossibile aprire il file 'smile_dbg.lib'
========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========

来源是文档中提供的示例:

#include "smile.h"
#include <stdio.h>
void CreateNetwork(void);
void InfereceWithBayesNet(void);
void UpgradeToInfluenceDiagram(void);
void InferenceWithInfluenceDiagram(void);
void ComputeValueOfInformation(void);
int main()
{
 CreateNetwork();
 InfereceWithBayesNet();
 UpgradeToInfluenceDiagram();
 InferenceWithInfluenceDiagram();
 ComputeValueOfInformation();
 return(DSL_OKAY);
};

使用#pragma注释添加库或使用项目设置(链接器->输入)

根据网站:

不要在项目设置中添加smile.lib作为额外的链接器输入-smile.h会处理好这一点。

我想这意味着smile.h文件已经包括:

#pragma import smile.lib

你能检查一下是不是这样吗?

我也遇到了类似的问题(同样在Windows 7和Visual Studio 2010上),并通过使用x86版本的smile(在Win32:Visual Studio 2010/VC 10.0 SP1下)解决了这个问题。