问题列表 - 第1918页

添加Boost使得Debug构建依赖于"非D"MSVC运行时DLL

我有一个令人烦恼的问题,我可能会以某种方式规避,但另一方面更愿意在它上面,并了解究竟发生了什么,因为看起来这个东西真的要留下来.

这是故事:我有一个简单的OpenGL应用程序可以正常工作:从来不是编译,链接或运行它的主要问题.现在我决定尝试将一些更密集的计算转移到工作线程中,以便可能使GUI更具响应性 - 当然,使用Boost.Thread.

简而言之,如果我在.cpp文件的开头添加以下片段:

#include <boost/thread/thread.hpp>

void dummyThreadFun() { while (1); }    

boost::thread p(dummyThreadFun);
Run Code Online (Sandbox Code Playgroud)

,然后我开始得到"这个应用程序无法启动,因为没有找到MSVCP90.dll"尝试启动调试版本.(发布模式正常.)

现在使用Dependency Walker查看可执行文件,他也找不到这个DLL(我猜想这个),我可以看到我们正在寻找它以便能够调用以下函数:

?max@?$numeric_limits@K@std@@SAKXZ
?max@?$numeric_limits@_J@std@@SA_JXZ
?min@?$numeric_limits@K@std@@SAKXZ
?min@?$numeric_limits@_J@std@@SA_JXZ
Run Code Online (Sandbox Code Playgroud)

接下来,我尝试转换每个实例minmax使用宏,但可能找不到对它们的所有引用,因为这没有帮助.(我正在使用一些我没有源代码的外部库.但即使我能做到这一点 - 我认为这不是正确的方法.)

所以,我的问题 - 我猜 - 是:

  1. 为什么即使使用调试版本,我们仍在寻找非调试DLL?
  2. 解决问题的正确方法是什么?甚至是一个又快又脏的?

我在Visual Studio 2008的一个非常简单的安装中首先使用它.然后尝试安装Feature Pack和SP1,但它们也没有帮助.当然也试过几次Rebuild.

我正在使用Boost的预构建二进制文件(v1.36.0).这不是我第一次在这个项目中使用Boost,但这可能是我第一次使用基于单独源的部件.

禁用增量链接无济于事.程序是OpenGL的事实似乎也不相关 - 我在将相同的三行代码添加到一个简单的控制台程序时遇到了类似的问题(但它在抱怨MSVCR90.dll _mkdir,当我更换时)后者boost::create_directory,问题消失!!).它实际上只是删除或添加这三行使程序运行正常或根本不运行.

我不能说我并排理解(甚至不知道这是否相关,但这是我现在所假设的),说实话,我也不是超级感兴趣 - 只要我可以构建,调试和部署我的应用程序......


编辑1:在尝试构建一个无论如何重现问题的精简示例时,我发现该问题与Spread Toolkit有关,Spread Toolkit的使用是我遇到此问题的所有程序的常见因素.(但是,在开始链接Boost之前我从来没有这样做.)

我现在想出了一个让我重现这个问题的最小程序.它由两个编译单元A.cpp和B.cpp组成.

A.cpp:

#include "sp.h"

int main(int argc, char* argv[])
{
    mailbox mbox = -1;
    SP_join(mbox, "foo");

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

B.cpp:

#include …
Run Code Online (Sandbox Code Playgroud)

c++ dll boost sxs visual-studio-2008

5
推荐指数
1
解决办法
2927
查看次数

GIT vs. Perforce-两个VCS将进入...一个人将离开

所以我正在让GIT在工作中出售.我需要的第一件事就是让每个人相信GIT在他们已经习惯做的事情上做得更好.我们目前使用Perforce.还有其他人经历过类似的销售吗?有什么好的链接/建议吗?

其中一个重大胜利是我们可以与网络断开连接.IMO的另一个胜利是处理添加/结账的方式.欢迎更多积分!我们总共有10-20个开发者.

git perforce process-management

85
推荐指数
7
解决办法
10万
查看次数

在asp.net中获取应用程序根目录的绝对uri的最快方法是什么?

最简单的方法是什么:http://www.[Domain].com在asp.net中?

似乎没有一种方法可以做到这一点,我知道的唯一方法是在服务器变量或Request.Url上做一些字符串杂技.任何人?

c# asp.net

6
推荐指数
1
解决办法
3310
查看次数

您如何组织版本控制存储库?

首先,我知道这一点:您如何为内部软件项目组织Subversion存储库? 接下来,实际问题:我的团队正在重构我们的存储库,我正在寻找有关如何组织它的提示.(在这种情况下为SVN).这就是我们想出的.我们有一个存储库,多个项目和多个svn:externals交叉引用

\commonTools /*tools used in all projects. Referenced in each project with svn:externals*/
   \NUnit.v2.4.8
   \NCover.v.1.5.8
   \<other similar tools>
\commonFiles /*settings strong name keys etc.*/
   \ReSharper.settings
   \VisualStudio.settings
\trash /*each member of the team has trash for samples, experiments etc*/
   \user1
   \user2
\projects
   \Solution1 /*Single actual project (Visual Studio Solution)*/
      \trunk
         \src
             \Project1 /*Each sub-project resulting in single .dll or .exe*/
             \Project2
         \lib
         \tools
         \tests
         \Solution1.sln
      \tags
      \branches
   \Solution2
      \trunk
         \src
             \Project3 /*Each sub-project resulting in single .dll or .exe*/ …
Run Code Online (Sandbox Code Playgroud)

svn version-control projects-and-solutions repository

108
推荐指数
1
解决办法
3万
查看次数

在一组文件中查找文本的更简洁方法是什么?

我目前使用以下命令,但输入有点笨拙.什么是更短的选择?

find . -name '*.txt' -exec grep 'sometext' '{}' \; -print
Run Code Online (Sandbox Code Playgroud)

这是我的要求:

  • 限制到文件扩展名(我使用SVN,不想搜索所有这些.svn目录)
  • 可以默认为当前目录,但能够指定不同的目录是很好的
  • 必须是递归的

更新:到目前为止,这是我最好的解决方案:

grep -r 'sometext' * --include='*.txt'
Run Code Online (Sandbox Code Playgroud)

更新#2:在使用grep之后,我意识到我更喜欢第一种方法的输出.所以,我按照几个响应者的建议,简单地制作了一个shell脚本,现在我用两个参数(扩展名和要查找的文本)调用它.

unix bash shell

2
推荐指数
1
解决办法
332
查看次数

在vb.net中处理dbnull数据

我想生成从MS-Access数据库检索并存储在DataTable对象/变量myDataTable中的一些格式化数据输出.但是,myDataTable中的一些字段包含dbNull数据.因此,如果任何字段lastname,intialssID的值为dbNull,则以下VB.net代码段将给出错误.

   dim myDataTable as DataTable
   dim tmpStr as String
   dim sID as Integer = 1

   ...
   myDataTable = myTableAdapter.GetData() ' Reads the data from MS-Access table
   ...

   For Each myItem As DataRow In myDataTable.Rows

    tmpStr = nameItem("lastname") + " " + nameItem("initials")

    If myItem("sID")=sID Then
        ' Do something
    End If

    ' print tmpStr

   Next
Run Code Online (Sandbox Code Playgroud)

所以,我如何得到上面的代码工作时字段可能包含的DBNull,而不必每次数据是否为DBNull在时间来检查这个问题

vb.net dbnull

72
推荐指数
4
解决办法
23万
查看次数

WPF:具有焦点的文本框的更改直到Closing事件触发后才会提交

我有一个用于编辑数据库信息的WPF窗口,它使用Entity Framework对象表示.当用户关闭窗口时,我想在Closing事件中注意信息是否已更改并显示一个消息框,用于将更改保存到数据库.

不幸的是,在编辑失去焦点之前,对当前焦点编辑的更改不会分配给绑定源,这会在处理Closing事件之后的某个时刻发生.

理想情况下,在检查我的实体是否已被修改之前,会有一个例程提交我可以调用的视图层次结构中的所有更改.我也在寻找有关以焦点方式清除控件焦点的信息,但无法弄清楚如何去做.

我的问题是,这通常是如何处理的?

data-binding wpf

13
推荐指数
3
解决办法
1万
查看次数

将HTMLCollection转换为数组的最有效方法

有没有更有效的方法将HTMLCollection转换为数组,除了迭代所述集合的内容并手动将每个项目推入数组?

javascript arrays object

343
推荐指数
7
解决办法
19万
查看次数

"超级"在Python中做了什么?

有什么区别:

class Child(SomeBaseClass):
    def __init__(self):
        super(Child, self).__init__()
Run Code Online (Sandbox Code Playgroud)

和:

class Child(SomeBaseClass):
    def __init__(self):
        SomeBaseClass.__init__(self)
Run Code Online (Sandbox Code Playgroud)

我已经看到super在只有单继承的类中使用了很多.我可以看到为什么你在多重继承中使用它,但不清楚在这种情况下使用它的优点是什么.

python oop inheritance super

522
推荐指数
7
解决办法
21万
查看次数

LINQ to SQL生成的对象可以解耦吗?

我喜欢LINQ to SQL,但似乎它生成的类与它们存储的数据库紧密耦合,这看起来像是一件坏事.

例如,使用旧的Northwind数据库,如果我使用Products表创建dbml,Product则会生成一个类.我可以在任何其他层使用此类,这一切都很好,但如果我决定使用普通的旧ADO.NET(或交换机数据库),我将不得不重新创建Product类,以及其他所有类"模型."

有没有解决的办法?或者单独创建对象模型,然后将表映射到它们?我已经玩过各种各样的地图类,但还没有找到满意的答案.

.net architecture linq-to-sql

11
推荐指数
1
解决办法
1399
查看次数