Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4

Проблема с компиляцией под Ubuntu

14.05.2019, 20:45. Показов 3950. Ответов 5

Студворк — интернет-сервис помощи студентам
Возникла ошибка при компиляции, вот такого типа:
/tmp/ccZgg5Do.o: In function `main':
father.cpp: (.text+0x58): undefined reference to `times(tms*)'
father.cpp: (.text+0x1fd): undefined reference to `times(tms*)'
/tmp/ccZgg5Do.o: In function `__static_initialization_and_destruction _0(int, int)':
father.cpp: (.text+0x2d0): undefined reference to `std::ios_base::Init::Init()'
father.cpp: (.text+0x2e5): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccZgg5Do.o: In function `__gnu_cxx::__enable_if<std::__is_intege r<int>::__value, double>::__type std::sin<int>(int)':
father.cpp: (.text._ZSt3sinIiEN9__gnu_cxx11__enable_ ifIXsrSt12__is_integerIT_E7__valueEdE6__ typeES3_[_ZSt3sinIiEN9__gnu_cxx11__enable_ifIXsrS t12__is_integerIT_E7__valueEdE6__typeES3 _]+0x11): undefined reference to `sin'
/tmp/ccZgg5Do.o: In function `__gnu_cxx::__enable_if<std::__is_intege r<int>::__value, double>::__type std::sqrt<int>(int)':
father.cpp: (.text._ZSt4sqrtIiEN9__gnu_cxx11__enable _ifIXsrSt12__is_integerIT_E7__valueEdE6_ _typeES3_[_ZSt4sqrtIiEN9__gnu_cxx11__enable_ifIXsr St12__is_integerIT_E7__valueEdE6__typeES 3_]+0x11): undefined reference to `sqrt'
collect2: error: ld returned 1 exit status
Текст программы:
C++ (Qt)
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
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <iostream>
#include <math.h>
#include <unistd.h>
#include <sys/wait.h>
#include <string.h>
#include <cstring>
#include <fcntl.h>
 
struct tms {
    clock_t tms_utime; /* user time */
    clock_t tms_stime; /* system time */
    clock_t tms_cutime; /* user time of children */
    clock_t tms_cstime; /* system time of children */
};
clock_t times(struct tms *buf);
 
int main(void){
    int i=0, fork1=0, ut=0, st, cu, cs, status;
    double res;
    FILE *fOut;
    struct tms start_time, end_time;
    clock_t real_time;
    fOut = fopen("text1.txt", "w");
    real_time = times(& start_time);
    for(i = 0; i < 500000; i++){
        res = i*3 + sin(i) - sqrt(i/15);
        fprintf(fOut, "%e, ", res);
    }
    for(i=0;i<3;i++){
        fork1 = fork();
        if(fork1 == 0){
            execl("./son21", "son21", NULL);
            execl("./son21", "son21", NULL);
        }
        else{
            wait(&status);
        }
        if(fork1 == -1){
            printf("Father: Error fork:\n %s", strerror(errno));
        }
    };
    if(fork1!=0){
        execl("./son12", "son12", NULL);
    }
    real_time = times(&end_time);
    ut = end_time.tms_utime - start_time.tms_utime;
    st = end_time.tms_stime - start_time.tms_stime;
    cu = end_time.tms_cutime - start_time.tms_cutime;
    cs = end_time.tms_cstime - start_time.tms_cstime;
    printf("fatherPid=%d,ppid=%d,ut=%d,st=%d,cu=%d,cs=%d\n", getpid(), getppid(), ut, st, cu, cs);
    fclose(fOut);
    exit(0);
}
Компилировал в терминале, установлен пакет build-essential через apt, помогите пожалуйста понять что это, ума не приложу
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.05.2019, 20:45
Ответы с готовыми решениями:

проблема с компиляцией
уважаемые форумчане есть программы компилировал в Microsoft Visual Studio 2010 Ultimate и в Microsoft Visual Studio 2010 Express и не в...

Проблема с компиляцией (help)
установил С++ 6.0 , но что то проблемный какой то jmu debug &gt; go (v otvet ) this file does not exist. yes want to build it &gt; file not...

Проблема с компиляцией
Сегодня начал изучать C++ Скачал инсталлятор MinGW отсюда: ...

5
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
14.05.2019, 20:55
Лучший ответ Сообщение было отмечено WiossiN как решение

Решение

В засекреченную строку компиляции нужно подать опцию "-lm". Критично, чтобы она была справа от всех файлов, перечисленных в командной строке

Добавлено через 41 секунду
Хотя у тебя тут имитация Си++, так что достаточно вместо "gcc" использовать "g++"
1
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4
14.05.2019, 21:47  [ТС]
достаточно вместо "gcc" использовать "g++"
Так, заменили gcc на g++ на убунте, стало лучше, но остались ошибки
/tmp/ccKcNobg.o: In function `main':
father.cpp: (.text+0x58) : undefined reference to `times(tms*)'
father.cpp: (.text+0x1fd) : undefined reference to `times(tms*)'
collect2: error: ld returned 1 exit status
Попробовал скомпилить в XCode, он в принципе только на это ругается (видимо он умнее чем я )
Undefined symbols for architecture x86_64:
"times(tms*)", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
(причём флаг -v я поставил, но ему что т не оч))))
0
Неэпический
 Аватар для Croessmah
18148 / 10732 / 2067
Регистрация: 27.09.2012
Сообщений: 27,031
Записей в блоге: 1
14.05.2019, 22:00
Лучший ответ Сообщение было отмечено WiossiN как решение

Решение

WiossiN, в коде нет определения функции times.
1
0 / 0 / 0
Регистрация: 28.10.2018
Сообщений: 4
14.05.2019, 22:10  [ТС]
Цитата Сообщение от Evg Посмотреть сообщение
В засекреченную строку компиляции нужно подать опцию "-lm"
Нет, ошибка была в другом. Не знаю в чём разница, но надо использовать
C++ (Qt)
1
#include <sys/times.h>
вместо
C++ (Qt)
1
#include <sys/time.h>
и 13-19 строки удалить - конфликтовали.
Цитата Сообщение от Croessmah Посмотреть сообщение
в коде нет определения функции times.
Именно, не та библиотека Хотя в гугле она тоже выдаётся. Были подозрения, но не вникал в статьи)))
Цитата Сообщение от Evg Посмотреть сообщение
g++, вместо gcc
Вот это мне и помогло, за что тебе огромное спасибо
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
15.05.2019, 10:14
Цитата Сообщение от WiossiN Посмотреть сообщение
Нет, ошибка была в другом
Нет, это две разные проблемы, которые в общей свалке из поста #1 на глаз не были различимы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.05.2019, 10:14
Помогаю со студенческими работами здесь

Проблема с компиляцией DirectShow
Столкнулся со следующей проблемой: Начал разбирать пример консольной программы Directshow с MSDN, которая воспроизводит видео файл в...

Проблема с компиляцией Релиза на VS2010
Приветствую. У меня опять возникла не логичная ситуация. Создал проект на VS2008. Через некоторое время решил его перевести на VS2010....

компилятор и команда g++ под ubuntu
Здравствуйте, у меня возникла проблема компиляции под g++, мне необходимо создать кучу объектных файлов, но проблема - в некоторых файлах...

скомпилировать программу под ubuntu
здравствуйте как подключить библиотеку stdio.h из консоли g++ hello.cpp -l /usr/include/stdio.h не подключается нужно именно...

Возникла проблема с подключением к ADSL-интернет из-под Ubuntu
Здравствуйте! Возникла проблема с подключением к ADSL-интернет из-под Ubuntu. Дело в том, что операционная система не видит модем, то...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru