缺少应用程序的依赖项

Missing dependency for application?

本文关键字:依赖 应用程序      更新时间:2023-10-16

我有一个非常简单的应用程序,它解析一些文本文件并将记录插入SQL Server数据库。

"It works for me,"但是当在另一台机器上运行时,它会在下一行崩溃:

cmr->dateTimeStamp = TIMESTAMP_STRUCT { };

对我来说,这意味着缺少与TIMESTAMP_STRUCT相关的依赖项,因为这是该行中唯一在此之前没有出现在程序中的内容。

TIMESTAMP_STRUCT和SQLUSMALLINT在sqltypes.h中定义,它们只是类型定义,所以我不希望那里有任何依赖关系。

我已经在目标机器上安装了SQL Server原生客户端11和visual c++运行时。

我还能错过什么?

Visual Studio 2015,目标机是Windows Server 2008 R2。

我在两台机器上使用相同的输入文件,但它只在一台机器上失败。

问题归结为一个编译器标志。

这个项目开始作为一个玩具应用程序的东西完全不相关,其中有AVX指令。当该指令集成为一个"真正的"应用程序时,该指令集的目标标志永远不会取消设置。

删除编译器标志(/arch:AVX)使程序在两台机器上都可以工作。让我感到奇怪的是,在这个程序中没有AVX指令,那么为什么设置标志会导致两台机器之间的执行差异,特别是对于由基本类型组成的结构体的初始化这样无害的事情呢?