【问题标题】:How to link library in visual studio如何在 Visual Studio 中链接库
【发布时间】:2013-02-12 15:51:02
【问题描述】:

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

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);
};

【问题讨论】:

  • 你能解释一下你已经做了什么来导入 lib 文件吗?
  • 你读过这个吗:不要在项目设置中添加smile.lib作为额外的链接器输入——smile.h会处理这个?
  • 我在项目的 C/C++ 属性中添加了带有 libray 的文件夹。然后也是链接器(随着我在问题中所说的动作发生)。如果我不按照 duDE 所说的链接进行链接,则错误是“致命错误 LNK1104:不可能的 aprire il 文件'smile_dbg.lib'”

标签: c++ visual-studio-2010 linker static-libraries


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    根据website

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

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

    #pragma import smile.lib
    

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

    【讨论】:

    • 是的,#pragma comment(lib, "smile_dyn"), #pragma comment(lib, "smile"), #pragma comment(lib, "smile_dbg")
    • 我消除了链接器的依赖。所以我唯一做的就是在 C/C++ 通用属性中指定库的文件夹。但现在的错误是:致命错误LNK1104:无法打开文件'smile_dbg.lib'
    • 是链接器->常规->附加库目录选项吗?
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-03
      • 2016-11-19
      • 1970-01-01
      • 2014-03-01
      • 2011-12-30
      • 2011-06-15
      • 2013-10-04
      • 2016-10-18
      相关资源
      最近更新 更多