微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Visual C ++链接器崩溃VS2008 SP1

如何解决Visual C ++链接器崩溃VS2008 SP1

| 以下代码片段用于在调试运行时按预期方式生成素数,进行编译和运行,但在发布模式下构建时似乎总是使墨守成败:
#include <vector>
#include <algorithm>
#include <cstdlib>
#include <iostream>

template<typename T> class PrimeGen {
    struct Elim {
        T p ;
        T e ;
    } ;

    class Elim_cmp {
    public:
        bool operator()(const Elim& e1,const Elim& e2) { return e1.e > e2.e; }
    } ;

    std::vector<Elim> elim_heap ;
    T last ;

public:
    PrimeGen() {
        Elim e0 = { 2,4 } ;
        elim_heap.reserve(1024) ;
        elim_heap.push_back(e0) ;
        last = 2 ;
    }

    T next() {
        T n = last ;
        bool prime;
        do {
            n ++ ;
            prime = true ;
            while(n == elim_heap.front().e) {
                if(prime) prime = false ;
                std::pop_heap(elim_heap.begin(),elim_heap.end(),Elim_cmp()) ;
                Elim& elim = elim_heap.back() ;
                elim.e = elim.p + n ;
                std::push_heap(elim_heap.begin(),Elim_cmp()) ;
            }
        } while(!prime) ;
        Elim e = { n,2*n } ;
        elim_heap.push_back( e ) ;
        std::push_heap(elim_heap.begin(),Elim_cmp()) ;
        return last = n ;
    }
} ;

int main()
{
    using namespace std ;
    PrimeGen<unsigned int> pgen ;
    for(int i=0; i<100; i++) {
        cout << pgen.next() << endl ;
    }
    system(\"pause\") ;
}
谁能看到为什么会这样?还是我遇到了其中很少有人怪罪编译器而非代码的情况之一? 我得到的错误如下:
error PRJ0002 : Error result -1073741819 returned from \'C:\\Program Files\\Microsoft SDKs\\Windows\\v6.0A\\bin\\mt.exe\'.
如果其他任何运行Visual Studio的人都花时间尝试在发布模式下构建代码(我已经删除了所有外部依赖项,那么应该只是c&p)我将非常有义务。 更新:经过进一步检查,即使对于简单的“ Hello World”代码,mt.exe似乎在发布模式下仍然崩溃,因此我的安装肯定存在问题。我将重新安装所有有望解决此问题的程序。主持人,请随时结束这个问题。     

解决方法

        链接器尝试嵌入清单文件的同时,某些程序(例如防病毒程序)正在扫描file.exe。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。