Skip to content

Instantly share code, notes, and snippets.

@BillKek
BillKek / удаление флага линковки или компиляции.md
Last active July 9, 2023 11:09
удаление флага линковки или компиляции

Бывает, что флаги линковки создаются автоматически например с помощью pkg-config.

Иногда необходимо удалить некоторые, чтобы слегка модифицировать поведение программы.

В GNU среде (например Msys2) это можно сделать с помощью программы sed. Например в строке codelite можно удалить флаги -mwindows след. образом:

$(shell echo "$(shell pkg-config --libs $(PKGS)) $(shell pkg-config --libs $(PKGS)) -static" | sed "s/ -mwindows//g")

@BillKek
BillKek / автодополнения codelite 2023.md
Last active July 9, 2023 11:08
codelite автодополнение

codelite по умолчанию настроен так что clangd берёт директории из каталога "воркспейса".

чтобы брал из каталого проекта, надо изменить аргумент параметра на:

--compile-commands-dir=$(ProjectPath)

ну и workingdirector тоже $(ProjectPath)

@BillKek
BillKek / eclipse and utf8.md
Last active August 2, 2023 00:06
eclipse and utf8 решение 1+2

bat файл:

chcp 65001
SET JAVA_TOOL_OPTIONS=-Dfile.encoding="UTF-8"
start "eclipse_clang" C:\eclipse\eclipse.exe
@BillKek
BillKek / eclipse_link_cpp.md
Created August 27, 2023 10:35
eclipse link cpp
@BillKek
BillKek / far manager utf-8 without signature.md
Created September 2, 2023 20:07
far manager utf-8 without signature

многие скрипты (например бат-файлы) не любят сигнатуру в начале файла:

вводим far:config

ищем Editor.AddUnicodeBOM и меняем его на false

@BillKek
BillKek / Проекты в солюшене с собственным exe-тестом.md
Created October 30, 2023 10:02
Проекты в солюшене с собственным exe-тестом

В солюшене visual c++ может быть нескольно проектов. Каждый из них может формировать тестовый (или даже прикладной) exe-файл, а так же его cpp-файлы могут быть использованы в других проектах как компоненты.

В главном cpp-файле проекта объявляем процедуру с названием проекта, а в опциях проекта прописываем:

$(ProjectName)=main

Таким образом процедура становится main только если она совпадает с именем проекта (который должен быть уникален среди идентификаторов).

@BillKek
BillKek / visual c++ штуки.md
Created October 30, 2023 16:17
visual c++ штуки

#pragma execution_character_set("utf-8") иначе в cout пойдёт что-то не то.