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

Main не видит функции из заголовочного файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Линейные статические структуры данных http://www.cyberforum.ru/cpp-beginners/thread959488.html
Помогите пожалуйста с задачей !!! Необходимо написать программу, использующую сведения о формате файла и выводящуюинформацию об обрабатываемом файле вида: для изображений: размер изображения, глубина цвета, количество страниц, плотность, размер палитры, тип сжатия и т.п. (формат файла jpg) До этого читал считывал информацию только из текстовых файлов, а с другими не работал, помогите...
C++ Окончание связанного списка Скажите, пожалуйста, как в моём случае можно поступить: выйти из цикла, если нажатием Enter ничего не вводится и выдавать ошибку, если значение одного изполей "доминушки" больше 6? /* Job_A.cpp: определяет точку входа для консольного приложения. 6. В игре "Домино" можно приставлять фишки друг к другу концами, имеющими одинаковое число точек. Составить список фишек игры "Домино" и проверить... http://www.cyberforum.ru/cpp-beginners/thread959473.html
error LNK2019: ссылка на неразрешенный внешний символ C++
только-только начал изучать c++.написал программу. компиляция прошла успешно, а при отладке выдаёт ошибку 1>------ Построение начато: проект: prog, Конфигурация: Debug Win32 ------ 1> prog.cpp 1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup 1>C:\Users\Иван\documents\visual studio 2010\Projects\program\Debug\prog.exe...
C++ Ошибка работы с сокетами
Есть массив размером 120 тысяч из структур по 8 байт. И я пытаюсь передать его из клиента на сервер int sz=sizeof(points);//points статический,размер 960000 Point *data=points; while(sz){ int k=send(sock_desc,data,sz,0); if(k<0)perror("Error writing image"); sz-=k; data+=k;
C++ regex с русскими символами http://www.cyberforum.ru/cpp-beginners/thread959448.html
Привет всем! что надо сделать чтобы работала регулярное выражение с русскими буквами ? регулярные выражение пользуюсь из boost...использую regex в qt ....ОС linux... что самое интересное что когда пишешь regex типа boost::regex is_path("привет мир"); работает, а когда пишешь типа boost::regex is_path("+"); не работает...
C++ Параллельное программирование Решил поизучать MPI, начал писать суммирование элементов массива, но наткнулся на такую проблему: при запуске с одним процессом все считается правильно, но при запуске 2 и более процессов считается только первый столбец. В чем загвоздка? #include "stdafx.h" #include "mpi.h" #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) подробнее

Показать сообщение отдельно
polyaKIDze
63 / 63 / 12
Регистрация: 16.07.2012
Сообщений: 147

Main не видит функции из заголовочного файла - C++

22.09.2013, 03:34. Просмотров 912. Ответов 4
Метки (Все метки)

Здравствуйте. Помогите решить проблему пожалуйста:

Bash
1
2
3
4
5
6
7
8
9
10
inly@inly-pc:~/base/Select$ make
g++ -c serv_sel.cpp -lssl -lcrypto -ldl 
gcc -c ../Libs/initCTX.c -lssl -lcrypto -ldl
gcc -c ../Libs/ftoa.c 
gcc -c ../Libs/count.c 
gcc -c ../Libs/loadSert.c -lssl -lcrypto -ldl
g++ serv_sel.o ftoa.o count.o initCTX.o loadSert.o -lssl -lcrypto -ldl -o serv
serv_sel.o: In function `main':
serv_sel.cpp:(.text+0x5a0): undefined reference to `count(char*)'
serv_sel.cpp:(.text+0x5bf): undefined reference to `ftoa(double)'
Выложу обрезанные файлы из проекта. Надеюсь, суть сохранена.
Точно такой-же проект, только там не select, а epoll и полностью С, собирается норм. У меня такое предчувствие, что тут я не учел что-то из c++. Или как бывает, сегодня залип, а завтра озарит)

Код
#Makefile
all: serv

serv: serv.o ftoa.o count.o initCTX.o loadSert.o 
	g++ serv_sel.o ftoa.o count.o initCTX.o loadSert.o -lssl -lcrypto -ldl -o serv
	
serv.o: serv_sel.cpp
	g++ -c serv_sel.cpp -lssl -lcrypto -ldl

initCTX.o: ../Libs/initCTX.c
	gcc -c ../Libs/initCTX.c -lssl -lcrypto -ldl
	
loadSert.o: ../Libs/loadSert.c
	gcc -c ../Libs/loadSert.c -lssl -lcrypto -ldl
	
ftoa.o: ../Libs/ftoa.c
	gcc -c ../Libs/ftoa.c 

count.o: ../Libs/count.c
	gcc -c ../Libs/count.c
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
//serv_sel.cpp
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <fcntl.h>
#include <algorithm>
#include <set>
#include "../Libs/func.h"
 
int main () {
    int sockfd, newsockfd;
    int cllen;
    struct sockaddr_in servaddr, claddr;
    sockfd = socket (AF_INET, SOCK_STREAM, 0);
    fcntl(sockfd, F_SETFL, O_NONBLOCK);
    bzero (&servaddr, sizeof (servaddr));   
    servaddr.sin_family = AF_INET;
    servaddr.sin_port = htons (51000);
    servaddr.sin_addr.s_addr = htonl (INADDR_ANY);
        bind (sockfd, (struct sockaddr *) &servaddr, sizeof (servaddr));
    listen (sockfd, 5);
 
    std::set<int> clients;
        clients.clear();
    
    while (1) {
        
              etc...
 
              for(std::set<int>::iterator it = clients.begin(); it != clients.end(); it++) {
            // Среди присоединенных клинтов ищем активного
            if(FD_ISSET(*it, &readset)) {
                char line[1000];
                n = read(*it, line, 999) ;
 
                if (strcmp (line, "exit\n") == 0) {
                    close(*it);
                    clients.erase(*it);
                }
                else {
                    double ans1 = count (line);
                    char2send linetosend;
                    linetosend = ftoa (ans1);
                    write(*it, linetosend.a, strlen(linetosend.a));             
                }   
            }
        }
    }
    return 0;
}
C
1
2
3
4
5
6
7
8
//count.c
#include <stdio.h>
#include <string.h>
#include "func.h"
 
double count (char *task) {
    smth...
}
C
1
2
3
4
5
6
7
//ftoa.c
#include <stdio.h>
#include "func.h"
 
char2send ftoa (double num) {
    smth...
}
Код
//func.h
double count (char *);
typedef struct {
	char a[100];
} char2send;
char2send ftoa (double);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru