msvc2005 прога не работает на др. компе

Dmitriy82

У меня msvc 2005 beta.
Пишу консольное приложение на c++ (не managed). Скомпилированный exe-шник запускается на моём компе, но не работает на других, где не установлена студия - выводит что-то вроде
"приложение не настроено помочь может переустановка..."
В чем дело и как с этим справиться?
Спасибо.

Olenenok

Переходи на <= 2003

Dasar

либо статически слинковать со стандартными библиотеками
либо через depends.exe посмотреть какие dll-ки нужны и таскать их вместе с программой

Dmitriy82

ПОсмотрел через depends необходимые библиотеки, и все, которые лежали не в windows/system32, положил в каталог с программой. Прога по-прежнему не работает...
А вообще странно - разве она не должна при отсутствии dll'ок писать что такой-то библиотеки не найдено?

maggi14

должна, но хрен ее знает. Слинкуй статически.

Dmitriy82

А как это делается?

maggi14

Project -> MyProject proprties -> Configuration properties -> General

Dasar

Про отсутствующие библиотеки не пишет.
Программа написано с mfc или без?
Atl юзался?

Dasar

Для начала установить
Project-> Properties -> COnfiguration Properties -> C/C++ -> Code generation -> Runtime LIbrary = Multi-threaded (/MT)
если используется MFC и Atl, то для них
на
Project-> Properties -> COnfiguration Properties -> General
установить
Use of MFC - > use MFC in static library
Use of ATL -> Static link to atl

marizha

у меня такая проблемы была из-за framework-а , т.е., если ставишь такой же, то прога работала, и было даже не важно, на какой студии я собирал проект, хоть на 6...

Dmitriy82

Программа без mfc и atl, например - просто hello world.
Скомпилированная как Multi-threaded заработала нормально, спасибо.
Интересно, почему так происходит?

Dasar

Потому что когда стоит Multithreaded dll - стандартная библиотека располагается в файле с названием что-то типа mscrt80.dll, а не в самом exe-шнике.
Оставить комментарий
Имя или ник:
Комментарий: