Idiomas: English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Deutsch | Español | Italiano | Русский | العربية
Guía para compilar NeverC desde el código fuente y configurar un entorno de desarrollo local.
- CMake 3.20+
- Ninja
- Un compilador C++17 del host (GCC, Clang o MSVC)
cmake -S llvm -B build-neverc -G Ninja -C neverc/cmake/caches/NeverC.cmake
cmake --build build-neverc --target nevercccache / sccache se detecta y activa automáticamente si está presente.
--target neverc es la compilación diaria stage-1 (runtimes embebidos vacíos)
y basta para la mayoría del trabajo local. Si necesita string / mimalloc / std /
NVK dentro del binario (o un compilador alineado con CI), ejecute el objetivo
paraguas stage-2:
cmake --build build-neverc --target neverc-embed-runtime-bitcodeEl bootstrap en dos etapas se detalla en Builtins.
cmake -S llvm -B build-neverc -G Ninja -C neverc/cmake/caches/NeverC.cmake -DNEVERC_INCLUDE_TESTS=ON
cmake --build build-neverc --target check-neverccheck-neverc depende de neverc-embed-runtime-bitcode, así que la primera
ejecución de pruebas hace bootstrap y reenlace automáticamente. No hace falta
invocar el objetivo embed a mano.
Tras la compilación, el binario neverc se encuentra en build-neverc/bin/neverc. Use el script auxiliar para añadirlo al PATH sin tener que escribir la ruta completa cada vez:
source ./utils/build/neverc-env.shAhora puede ejecutar neverc directamente:
neverc --version
neverc -c hello.c -o hello.oPara retirar la compilación local del PATH en la sesión de shell actual:
source ./utils/build/neverc-env.sh --remove # o -rEscribir automáticamente la línea source en el archivo rc del shell (~/.zshrc, ~/.bashrc o ~/.profile):
source ./utils/build/neverc-env.sh --installDeshacer:
source ./utils/build/neverc-env.sh --uninstallSi tiene instalada una release (por defecto: ~/.neverc) y también una compilación en el árbol de fuentes, use neverc-env.sh para cambiar el neverc activo en la sesión actual sin sobrescribir ninguna instalación:
source ./utils/build/neverc-env.sh # desarrollo local (build-neverc/bin)
source ./utils/build/neverc-env.sh --local # igual que arriba
source ./utils/build/neverc-env.sh --release # release (~/.neverc/bin)
source ./utils/build/neverc-env.sh --status # mostrar neverc activo
source ./utils/build/neverc-env.sh --remove # quitar ambos del PATHAl cambiar se establece NEVERC_ENV en local o release:
echo "$NEVERC_ENV"
neverc --version
which nevercSi la release se instaló en otro prefijo, indique el mismo directorio que usa install.sh:
NEVERC_INSTALL_DIR=$HOME/.neverc-v3389.1.2 source ./utils/build/neverc-env.sh --releaseOpcional — alias en la configuración del shell (sustituya la ruta por la absoluta de su repositorio):
alias neverc-dev='source /path/to/NeverC/utils/build/neverc-env.sh --local'
alias neverc-rel='source /path/to/NeverC/utils/build/neverc-env.sh --release'En Windows, utilice el script .bat (no requiere privilegios de administrador):
utils\build\neverc-env.bat &REM añadir al PATH (sesión actual)
utils\build\neverc-env.bat --remove &REM eliminar del PATH (sesión actual)
utils\build\neverc-env.bat --global &REM persistir en el PATH de usuario vía setx
utils\build\neverc-env.bat --global -r &REM eliminar del PATH de usuario vía setxA diferencia del script Unix, no se necesita source — el .bat modifica directamente la sesión cmd actual. --global escribe en el registro de usuario mediante setx (no requiere privilegios de administrador).
La versión está firmada con un certificado Apple Developer ID y notarizada por Apple. Extraiga el archivo y úselo directamente.
NeverC incluye los SDK de cada plataforma en runtime/ (Windows SDK/WDK, sysroot de Linux, sysroot de macOS, Android NDK); no se necesita configuración externa.
neverc --target=x86_64-pc-windows-msvc \
-fbuiltin-string -o hello.exe hello.c -lkernel32Para dyncode de Windows (-fdyncode, resolución de importaciones PEB, etc.), consulte la documentación del compilador dyncode.
neverc --version
echo 'int main(void) { return 0; }' > /tmp/hello.c
neverc -c /tmp/hello.c -o /tmp/hello.o