小编Pau*_*mer的帖子

应用程序无法启动...应用程序配置不正确 - VC++ 2005运行时问题

我们将Visual C++ 2003解决方案迁移到Visual 2005,现在我们在部署到干净的XP机器时遇到了问题.

我们的解决方案有一个DLL项目和一个使用此DLL的命令行可执行文件.两个项目都创建并嵌入清单文件.

我们的安装程序还将VC8 CRT运行时从C:\ Program\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT \复制到安装目录.

当我们在干净的Windows XP上安装时,我们会看到错误消息"应用程序无法启动...应用程序配置不正确".

将exe放在Depends.exe中,说:

Error: The Side-by-Side configuration information for "c:\program files\MySoftware\vc8\BENCHMARK.EXE" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Error: The Side-by-Side configuration information for "c:\program files\MySoftware\vc8\MYLIB-VC8.DLL" contains errors. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem (14001).
Warning: At least one module …
Run Code Online (Sandbox Code Playgroud)

deployment dll visual-studio-2005

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

如何获取DLL的文件名?

我有一个C++ Windows应用程序myapp.exe,它加载了几个插件.

插件需要找到其DLL的路径.我可以使用GetModuleFileName,但它需要插件DLL的句柄.我不知道从哪里得到这个句柄.GetModuleHandle(NULL)返回可执行文件的句柄.

一种选择是使用GetModuleHandle(GetModuleHandle("myplugin.dll")),但这需要硬编码插件的名称,我想避免.

任何帮助表示赞赏.

保罗

c++ windows dll

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

在Windows上进行Qt DLL部署

我有一个来自其他公司的应用程序的插件.我的插件使用Qt所以它需要Qt DLL.我的问题是所有版本的4.x Qt Dll都被称为相同,例如:QtCore4.dll.很可能某些其他插件或其他插入到PATH环境变量中的应用程序已将Qt dll放在applications文件夹中.在这种情况下,插件将无法启动,因为它期望DLL的不同版本.

  • Q1.DLL部署的常见做法是什么?
  • Q2.如果主机应用程序使用不同版本的Qt,该怎么办?Windows是否允许主机应用程序和插件使用不同的版本()?

谢谢!

windows dll manifest

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

需要有关Windows到OS X端口估计和开发成本的建议.在OS X上

我是10年+,C++ linux/windows开发人员,我被要求估计将Windows应用程序移植到OS X的工作量.

我以前没有在OS X上开发过,所以我不知道会发生什么.

它是一个C++/Qt应用程序,所以我想问:什么是事实上的工具,如编辑器,IDE,编译器,制作工具等?哪些工具是商业的,需要购买?

我需要多长时间才能适应环境并提高工作效率?

提前致谢,

保罗

c++ macos qt

4
推荐指数
1
解决办法
588
查看次数

解除分配不会释放Windows/C++应用程序中的内存

我的Windows/C++应用程序在内存中为操作员分配~1Gb的数据new并处理这些数据.处理完数据后删除.

我注意到如果我在没有退出应用程序的情况下再次运行处理,则第二次调用运算符new来分配〜1Gb的数据失败.

我希望Windows能够提供内存.使用其他一些Win32调用等可以更好地管理吗?

c++ windows winapi memory-leaks memory-management

3
推荐指数
2
解决办法
1476
查看次数

多个C++线程如何在类方法上执行

假设我们有一个c ++类,如:

class MyClass
{
   void processArray( <an array of 255 integers> )
   {
     int i ;
     for (i=0;i<255;i++)
     {
        // do something with values in the array
     }
   }
}
Run Code Online (Sandbox Code Playgroud)

和类的一个实例如:

MyClass myInstance ;
Run Code Online (Sandbox Code Playgroud)

和2个线程调用该实例的processArray方法(取决于系统如何执行线程,可能是完全不规则的顺序).该范围内没有使用互斥锁,因此两个线程都可以进入.

我的问题是我发生了什么?每个线程范围是否拥有它自己的"i",或者每个进入线程都会在for循环中修改i,导致i一直在奇怪地改变.

c++ multithreading

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

线程工作者方法中的Singleton getInstance

这个问题是关于在工作线程中使用单个对象的getter方法.这是一些伪代码:

// Singleton class which contains data
class MyData
{
    static MyData* sMyData ;

    int  mData1[1024];
    int  mData2[1024];
    int  mData3[1024];

    MyData* getInstance()
    {
        // sMyData is created in the very beginning.
        return sMyData ;
    }

    void getValues(int idx, int& data1,int& data2,int& data3)
    {
        data1 = mData1[idx];
        data2 = mData2[idx];
        data3 = mData3[idx];
    }

    int* getData1()
    {
        return &mData1[0];
    }
}

class MyThread
{
    void workerMethod()
    {
        MyData* md = MyData::getInstance();

        int d1,d2,d3;
        md->getValue( 12, d1,d2,d3 );

        int* data1 = md->getData1(); …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading

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