Создаю простенькую программку в MS Visual Studio 2008, консолка win32.
Получаю исполняемый рабочий файл, но если перенести его на комп де нету студии, то она не работает! Как сделать, чтоб работала? Объясните пожайлуста.
Ссылка на исполняемый файл(моя прога):
http://rghost.ru/download/3814498/3a90b10274fb9045898e5e6aea3332aa8a27200e/Lab2Mass.exe
Код программы:
#include "stdafx.h"
#include "conio.h"
#include "locale.h"
#include "iostream"
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL,"Russian");
printf("Программа в одномерном массиве целых чисел заменяет максимальное значение\nминимальным.\n");
int *mass = NULL;
int smass = 0; //размер
const int s = 5;
printf("Введите размер массива:");
scanf("%d", &smass);
mass = new int[s];
printf("Введите массив чисел(через пробел):");
int i = 0;
for(i = 0; i < smass; i++)
{
scanf("%d",&mass[i]);
}
int k = 0;
int k2 = 0;
int min = mass[0];
int max = mass[0];
for(i = 0; i < smass; i++)
{
if(max < mass[i])
(max = mass[i]) & (k = i);
}
for(i = 0; i < smass; i++)
{
if(min > mass[i])
(min = mass[i]) & (k2 = i);
}
system("cls");
printf("Программа в одномерном массиве целых чисел заменяет максимальное значение\nминимальным.\n");
printf("Массив до выполнения программы:\n");
printf(" | ");
for(i = 0; i < smass; i++)
{
printf("%d",mass[i]);
printf(" | ");
}
printf("\n");
mass[k] = mass[k2];
printf("Массив после выполнения программы:\n");
printf(" | ");
for(i = 0; i < smass; i++)
{
printf("%d",mass[i]);
printf(" | ");
}
printf("\n \nДля выхода нажмите любую клавишу...");
delete [] mass;
getch();
return 0;
}
Всех с Новым Годом!
Примечание:
А как все dll-ки присоединить к моей exe, чтоб получился один файл который можно переносить и он будет работать!
Примечание:
"Выбираете Release а не дебаг конфигурацию, это раз.
В свойства проекта, в разделе C/C++ => Code Generation, ставите вместо Multithreaded DLL просто Multithreaded.
И все будет работать безо всяких редистрибьютебл. Правда увеличит размер выходного файла, разумеется."
Не удалось запустить приложение, поскольку его паралельная кгонфигурация неправельна
Примечание:
Amon-Ra, сделал что вы сказали, Теперь:
1>stdafx.cpp
1>Compiling...
1>Lab2Mass.cpp
1>d:\c++progmax\lab2mass\lab2mass\lab2mass.cpp(17) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\programs\ms visual studio 2008\vc\include\stdio.h(306) : see declaration of 'scanf'
1>d:\c++progmax\lab2mass\lab2mass\lab2mass.cpp(23) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\programs\ms visual studio 2008\vc\include\stdio.h(306) : see declaration of 'scanf'
1>d:\c++progmax\lab2mass\lab2mass\lab2mass.cpp(32) : warning C4552: '&' : operator has no effect; expected operator with side-effect
1>d:\c++progmax\lab2mass\lab2mass\lab2mass.cpp(37) : warning C4552: '&' : operator has no effect; expected operator with side-effect
1>d:\c++progmax\lab2mass\lab2mass\lab2mass.cpp(60) : warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1> d:\programs\ms visual studio 2008\vc\include\conio.h(145) : see declaration of 'getch'
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __free_dbg referenced in function "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z)
1>D:\C++ProgMax\Lab2Mass\Debug\Lab2Mass.exe : fatal error LNK1120: 2 unresolved externals
1>Build log was saved at "file://d:\C++ProgMax\Lab2Mass\Lab2Mass\Debug\BuildLog.htm"
1>Lab2Mass - 3 error(s), 6 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Примечание:
Вот может это поможет(как я понял конфликт библиотек)
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
Примечание:
А как отрубить рантайм буфер чек?