Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2010, 20:40   #1
skgwazap
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 40
По умолчанию Подключение библиотеки string

Использую VS2008
Проект Win32 project, не консоль.
Не получается подключить библиотеку string
Пробовал
#include <string>
#include <string.h>
#include <cstring>
результат один, компилятор говорит что не знает такого типа.
В консольном проекте все прекрасно. Как решить эту проблему?
skgwazap вне форума Ответить с цитированием
Старый 24.11.2010, 20:44   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
результат один, компилятор говорит что не знает такого типа.
По точнее: не знает типа string, или пишет, что не существует заголовка с таким именем? И куда вы вставляете директивы?
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 24.11.2010, 21:12   #3
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

А вы случаем не забыли
Код:
using namespace std;
Или при объявлении переменных
Код:
std::string mystring;
?
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Старый 25.11.2010, 10:44   #4
skgwazap
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 40
По умолчанию

Подключаю так
Код:
#include <windows.h>
#include "resource.h"
#include <strsafe.h>
#include <string>
Ошибки такие
Код:
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>C:\Users\skg\Documents\Visual Studio 2008\Projects\Kurs\Debug\Kurs.exe : fatal error LNK1120: 2 unresolved externals
skgwazap вне форума Ответить с цитированием
Старый 25.11.2010, 11:29   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Может, код всей программы покажете?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 25.11.2010, 11:38   #6
skgwazap
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 40
По умолчанию

Пытаюсь объявить глобальную переменную s
Код:
#include <windows.h>
#include "resource.h"
#include <strsafe.h>
#include <string.h>
#pragma comment(linker, "/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
int A[10];
int iInd = -1;
std::string s;
HFONT hFont = CreateFont (16, 0, 0, 0, 
						  FW_DONTCARE, FALSE, FALSE, FALSE, 
						  ANSI_CHARSET,OUT_TT_PRECIS, CLIP_DEFAULT_PRECIS, 
						  DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, TEXT("Tahoma")); 
LONG WINAPI WndProc(HWND, UINT, WPARAM,LPARAM);

int WINAPI WinMain(HINSTANCE hInstance,
				   HINSTANCE hPrevInstance,
				   LPSTR lpCmdLine,
				   int nCmdShow){
HWND hwnd;
MSG msg;
WNDCLASS w;
	memset(&w,0,sizeof(WNDCLASS));
	w.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
	w.lpfnWndProc = WndProc;
	w.hInstance = hInstance;
	w.lpszMenuName	= MAKEINTRESOURCE(IDR_MENU1);
	w.hCursor = LoadCursor(NULL, IDC_ARROW);
	w.hbrBackground = (HBRUSH)(COLOR_WINDOW);
	w.lpszClassName = L"My Class";
	RegisterClass(&w);
hwnd = CreateWindow(L"My Class", 
					L"Курсовая работа Крекнина Т.И. студента гр. 3-78-11", 
					WS_OVERLAPPEDWINDOW,
					CW_USEDEFAULT, CW_USEDEFAULT,
					CW_USEDEFAULT, CW_USEDEFAULT,
					NULL, NULL, hInstance, NULL);
	int i = 1;
	WCHAR pszZad[30];
	HWND hCtrl;
	StringCbPrintfW(pszZad, 30*sizeof(WCHAR), L"Задача %d", i);
	while (i <=5){
		int ID = ID_BUTTON1-1+i;
		hCtrl = CreateWindow(L"button", 
					pszZad, 
					WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE, 
					5, 5+(i)*25, 
					100, 20, 
					hwnd,(HMENU)ID, NULL, NULL);
				    ++i;
					StringCbPrintfW(pszZad, 30*sizeof(WCHAR), L"Задача %d", i);
		SendMessage(hCtrl, WM_SETFONT, WPARAM(hFont), TRUE); 
	}
	SendMessage(CreateWindow(L"STATIC",
					L"Выберите задачу:",
					WS_CHILD|SS_LEFT|WS_VISIBLE,
					5,5,
					200,20,
					hwnd,(HMENU)ID_STATIC,NULL,NULL),
				WM_SETFONT, WPARAM(hFont), TRUE);
	ShowWindow(hwnd,nCmdShow);
	UpdateWindow(hwnd);
	while(GetMessage(&msg,NULL,0,0)){
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	return msg.wParam;
}

LONG WINAPI WndProc(HWND hwnd, UINT Message, WPARAM wparam, LPARAM lparam)
{
switch (Message){
	case WM_DESTROY: 
		PostQuitMessage(0);
	break;
	case WM_COMMAND:
		switch (LOWORD(wparam)){
			case ID_ZAD1:{
				while (HWND hCld = FindWindowEx(hwnd, 0, 0, 0))
					DestroyWindow(hCld);
				HWND hCtrl;
				hCtrl = CreateWindow(L"STATIC",
							 L"Задача 1: Определить в тексте слова, которые можно читать слева направо и справа налево (Анна, шалаш и т.д.). Из этих слов сделать новое предложение.",
							 WS_CHILD|SS_LEFT|WS_VISIBLE,
							 5,5,
							 400,60,
							 hwnd,(HMENU)ID_STATIC,NULL,NULL);
				SendMessage(hCtrl, WM_SETFONT, WPARAM(hFont), TRUE); 
				hCtrl = CreateWindowEx(WS_EX_CLIENTEDGE, 
							 L"EDIT",
							 L"Введите строку",
							 WS_CHILD|ES_AUTOHSCROLL|ES_LOWERCASE|WS_VISIBLE,
							 5,70,
							 200,20,
							 hwnd,(HMENU)ID_EDIT,NULL,NULL);
				SendMessage(hCtrl, WM_SETFONT, WPARAM(hFont), TRUE); 
				hCtrl = CreateWindow(L"BUTTON",
							 L"Проверить",
							 WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE,
							 215,70,
							 100,20,
							 hwnd,(HMENU)ID_BUTTON_INP1,NULL,NULL);
				SendMessage(hCtrl, WM_SETFONT, WPARAM(hFont), TRUE); 
			break;
			}
			
			case ID_BUTTON_INP2:{
				LPWSTR lps = new WCHAR[5];
				HWND hCtrl = GetDlgItem(hwnd, ID_BUTTON_INP2);
				GetWindowText(GetDlgItem(hwnd, ID_EDIT), lps, 5);
				if (++iInd == 10){
					EnableWindow(hCtrl, FALSE);
					float s = sr_arifm1(A,10);
					WCHAR pszSr[50];
					StringCbPrintfW(pszSr, 50*sizeof(WCHAR), L"Среднее арифметическое: %.2f", s);
					MessageBox(NULL, pszSr, L"Результат", NULL);
				}
				else
					A[iInd] = _wtoi(lps);
			break;
			}
			case ID_EXIT:
				PostQuitMessage(0);
			break;
			case ID_ABOUT:
				MessageBox(NULL, L"Я здесь АрелЪ!", L"О программе", NULL);
			break;
		}
	break;
	default:
		return DefWindowProc(hwnd, Message, wparam, lparam);
}
	return 0;
}
skgwazap вне форума Ответить с цитированием
Старый 25.11.2010, 19:51   #7
skgwazap
Пользователь
 
Регистрация: 24.11.2010
Сообщений: 40
По умолчанию

UP,
Может кто нибудь выложит рабочий вариант любого оконного приложения ,где подключены строки?
skgwazap вне форума Ответить с цитированием
Старый 26.11.2010, 09:29   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Ваша ошибка похожа на то, что вы не правильно комбинируете версию проекта и либы к нему. Например, в Отладочной версии подключаете либы для Релиза... или наоборот.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подключение дополнительной библиотеки компонентов alex_28 БД в Delphi 4 28.09.2010 16:47
Подключение библиотеки mp3Pro AlexSol.BY Помощь студентам 1 23.04.2010 19:04
Подключение к Делфи библиотеки написанной на с++ Яр|/||< (^_^) Общие вопросы Delphi 2 30.03.2010 21:05
Подключение библиотеки BASS? Ferz-2009 Мультимедиа в Delphi 2 29.12.2009 08:15
подключение библиотеки mfc ruavia3 Microsoft Office Excel 0 06.10.2009 17:13