Подскажите как скомпилировать файл. Использую g++ пытаюсь скомпилить
adel@comp:~/Документы/c++$ g++ -lm -o output firs.cpp
adel@comp:~/Документы/c++$
создается файл
вот сам cpp файл
#include <iostream>
using namespace std;
int main(void)
{
cout<<"Hello world";
return 0; //Возвращаем 0 - код возврата для ОС
}
Запуск двойным нажатием определяет настройка Вашего проводника. Есть вероятность, что она запускается в новой сессии терминала, которая Вам не отображается, а Вы думайте что запуск не произошел...
Для запуска данного приложения Вам необходимо начать сессию командной оболочки bash(ну или чего-то еще что у Вас есть zsh, sh) которая будетВам доступна, перейти в дир. с Вашим кодом и вызвать gcc(g++) (ну или LLVM clang) для сборки Вашего кода
g++ ./source.cpp
Ну или смотря что вы хотите от gcc)) Используйте Ваш рецепт из вопроса )) После этого Вы найдете a.out ELF файл
Для запуска Вы должны быть уверенны что стоит x(execute) бит. можете проверить этой командой
ls -l | fgrep a.out
И получить на выходе что-то по типу
-rwxrwxr-x 1 usr usr 9048 dec 18 00:00 a.out
Если есть x биты - то все отлично, его нет, то сначала вызовете
chmod +x ./app
И далее просто запустите его - В линухе по причине безопасности для запуска нужен абсолютный путь - это можно сделать так :
./app - в конкретной директории
или
/path_to_/app - из любой директории
где ./ укажет текущий путь($pwd)
Совет: не собирайте все командами в оболочке... лучше собирать утилитой make по рецептам указанным в Makefile.
Для этого Вам понадобится makefile - который можно или написать, или генерировать (вариантов тьма, но лучше научиться юзать CMake https://cmake.org/ - там все есть) он поможет Вам организовать сборку больших решений))
CMake генерирует Вам makefile в соответствии с конфигами которые Вы ему напишите )
Самый минимум для CMake CMakeLists.txt
cmake_minimum_required(VERSION 3.16.0-rc3)
set(PROJECT_NAME "Test_for_stack")
project(${PROJECT_NAME} DESCRIPTION "C++" LANGUAGES C CXX)
include_directories(${PROJECT_SOURCE_DIR})
set(SOURCE_CODE_CPP_MAIN ${PROJECT_SOURCE_DIR}/source.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_CODE_CPP_MAIN })
Или напишите makefile сами ) Вот лайтовый пример makefile
CC := g++-9
CLEAN_COM := rm -rf
compile_flags := -std=c++17 -m64 -march=native -Wall -O2 -Wpedantic -pedantic -fno-inline -DNDEBUG
app: main.o
$(CC) -o app main.o $(compile_flags)
main.o: main.cpp
$(CC) -E main.cpp $(compile_flags) >> main.i
$(CC) -S main.i $(compile_flags) >> main.s
$(CC) -c main.s $(compile_flags) >> main.o
.PHONY : clean_buf
clean_buf :
$(CLEAN_COM) main.i main.s main.o
.PHONY : clean
clean :
$(CLEAN_COM) main.i main.s main.o app
Далее просто дерните в дир. где CMakeLists.txt
cmake . && make
Или
cmake . && cmake. — build
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском