Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
#1

ms vs 2010 - C++

21.05.2011, 04:54. Просмотров 2234. Ответов 9
Метки нет (Все метки)

компилирую в vs ultimate 2010
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
#include "incl.h"
 
void nullstruc(statep &struc1);
void rcoin(statep &struc1);
void crpost(statep &struc1);
void changename(statep &struc1);
 
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
    statep ststatep1 =
    {
        "a",
        "a",
        1,
        1,
        0,
        2,
        0,
        0,
        "z",
        0,
    };
 
    
    rcoin(ststatep1);
    nullstruc(ststatep1);
    changename(ststatep1);
 
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    changename(ststatep1);
    ststatep1.stam = 0;
 
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    crpost(ststatep1);
    HINSTANCE hdll1 = LoadLibraryA("dll4.dll");
    FARPROC pdllfunc1 = GetProcAddress(hdll1, "dllfunc1");
    (*pdllfunc1);
    FreeLibrary(hdll1);
 
    return 0;
}
    void nulstruc(statep &struc1)
{
    struc1.nname = 0;
    struc1.stam = 0;
}
 
    void changename(statep &struc1)
{
 
}
 
 
    void rcoin(statep &struc1)
{
 
}
 
    void crpost(statep &struc1)
{
    DWORD fcount;
 
    char * name = struc1.name;
    HANDLE hfile1 = CreateFileA(struc1.name, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_ALWAYS, 0, NULL);
    if(struc1.stam==0)
        WriteFile(hfile1, buf, i , &fcount, NULL);
    else
    {
        SetFilePointer(hfile1, 70*struc1.stam, NULL, FILE_BEGIN);
        WriteFile(hfile1, buf, i, &fcount, NULL);
    }
    struc1.stam++;
 
    //sprintf(buf1, "%d", fcount);
    //MessageBoxA(NULL, buf1, "information", MB_OK);
    CloseHandle(hfile1);
}
это incl.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    struct test1
{
    char e[6];
    char s[1];
    char d[7];
};
 
    struct statep
{ 
    char date[11];
    char cur[8];
    double o;
    double c;
    double r;
    int state;
    int coin;
    int stam;
    char name[15];
    int nname;
};
1>loaddll.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl nullstruc(struct statep &)" (?nullstruc@@YAXAAUstatep@@@Z) в функции _WinMain@16
1>C:\Documents and Settings\er\Мои документы\Visual Studio 2010\Projects\loaddll\Debug\loaddll.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
1>

в vs express 2008 все работало
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2011, 04:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ms vs 2010 (C++):

Скачал из Интернета portable Офис 2010. Как с Акцессом 2010 работать? - MS Access
Скачал из Интернета portable Офис 2010. Как с Акцессом 2010 работать? Запускаю, нажимаю открыть, выбираю файл и тишина. Думал пакет битый,...

Подключение и работа с базой данных MS Access 2010 в Visual Studio 2010: VB - Visual Basic .NET
Доброго времени суток! Уважаемые гуру програмирования, не моглибы Вы помочь начинающему! Задача: Есть база данный на Access 2010,...

Плагин 3Dmax SDK 2010 для Visual Studio 2010 - Visual Studio
Не подскажите как ставится плагин 3Dmax SDK 2010 для Visual Studio 2010 Autodesk 3ds Max Design 2010 с поддержкой C++?

Разбор примера с книги : Троелсен Э. - C# 2010 и платформа .NET 4 - 2010 - C#
В примере сказано, что "Обратите внимание, что поля класса Employee определены с ключевым словом private. С учетом этого, поля empName,...

Delphi 2010 (RAD Studio 2010) критическая область - Delphi
Подскажите, пожалуйста, как в Делфи 2010 создать критическую область? Делал так, но ничего не получилось var Form1: TForm1; ...

Перенос старых данных в БД MS Access 2010 из MS Excel 2010 - MS Access
Здравствуйте ! Создаю БД да работы сотрудников. Вроде с основными вопросами справился, но как всегда под конец возникла проблемка. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
21.05.2011, 05:32 #2
nullstruc() вот эта функция наверно определена где то в другом месте попробуй назвать по другому
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
21.05.2011, 07:23  [ТС] #3
ты прав l забыл
но теперь пишет про манифест
1>mt.exe : general error c101008a: Failed to save the updated manifest to the file "Debug\loaddll.exe.embed.manifest". 0@0<5B@ 7040= =525@=>.
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,435
Записей в блоге: 3
21.05.2011, 10:44 #4
У вас реализация функций после мэйна. Поставьте перед ним, и чтобы на всякий случай избавится от косяков сделайте ребилд солюшена.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.05.2011, 11:14 #5
Predator_2004, И что что реализация после main? Наверху ведь прототип объявлен
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,435
Записей в блоге: 3
21.05.2011, 11:43 #6
Если я правильно помню работу компилятора, то на момент прохода по функции мэйн, встретив обращение к одной из этих функций, он не будет иметь представление об их реализации, т.к. они стоят за мэйном. Он не сможет адекватно сформировать код главной подпрограммы.

Добавлено через 2 минуты
Компилятор встретил вызов функции, ему нужен ее код. До самого кода он еще не дошел, следовательно он не знает есть ли он вообще, остановка, вывод сообщения об ошибке.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
21.05.2011, 11:46 #7
Predator_2004, Слишком плохо вы думаете о компиляторе)
ValeryLaptev
Эксперт С++
1040 / 819 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
21.05.2011, 11:47 #8
Реализация функций после main() - это по стандарту разрешено.
А вот эта фигня:
C++
1
#include "stdafx.h"
это microsoft specific.
Поэтому в Студии пересоздайте проект, выбрав "пустой" проект.
И включите туда только СВОИ файлы.
HighPredator
5477 / 1843 / 343
Регистрация: 10.12.2010
Сообщений: 5,435
Записей в блоге: 3
21.05.2011, 12:00 #9
Мда, был неправ.
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
21.05.2011, 21:28  [ТС] #10
пустой проект заработал (ms vs ultimate 2010 какой-то кошмар).
только exe-шник немогу найти говорит что нет такого файла.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 21:28
Привет! Вот еще темы с ответами:

Экспорт данных из Access 2010 в Excel 2010 - MS Access
Добрый день, уважаемые форумчане. Пытаюсь допилить свою базу для работы в мануальной клинике. Почти все сделал, но вот не могу доделать...

Работа с объектами в C++ Builder 2010 (RAD 2010) - C++ Builder
Плавно перехожу на программирование в Builder, появляется очень много вопросов по работе со стандартными встроенными объектами (формами). ...

Связка Access 2010 и Outlook 2010 - MS Access
Доброго времени уважаемые форумчане есть вот такой код Public Sub Кнопка0_Click() DoCmd.SetWarnings False DoCmd.RunSQL &quot;DELETE...

Таблицы из Word 2010 в Excel 2010 - VBA
Есть несколько вордовских файлов, которые помимо текста содержат таблицы. Эти таблицы необходимо перенести в эксель. Сейчас это делается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.05.2011, 21:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru