Unsolved Externals
unkn0wncvm1 opened this issue · 3 comments
When Building I get This Error
./tools/cc65/bin/ld65 -C tools/cc65_config/game.cfg -o rom/starter.nes temp/*.o tools/neslib_famitracker/runtime.lib ld65.exe: Warning: tools/cc65_config/game.cfg(61): Segment
HEADER' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(62): Segment STARTUP' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(65): Segment
ROM_00' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(69): Segment ROM_04' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(70): Segment
ROM_05' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(71): Segment ROM_06' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(73): Segment
STUB_00' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(74): Segment STUB_01' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(75): Segment
STUB_02' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(76): Segment STUB_03' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(77): Segment
STUB_04' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(78): Segment STUB_05' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(79): Segment
STUB_06' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(84): Segment STUB_PRG' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(85): Segment
CHR_00' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(86): Segment CHR_01' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(87): Segment
CHR_02' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(88): Segment CHR_03' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(89): Segment
CHR_04' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(90): Segment CHR_05' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(91): Segment
CHR_06' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(92): Segment CHR_07' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(93): Segment
CHR_08' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(94): Segment CHR_09' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(95): Segment
CHR_0A' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(96): Segment CHR_0B' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(97): Segment
CHR_0C' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(98): Segment CHR_0D' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(99): Segment
CHR_0E' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(100): Segment CHR_0F' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(101): Segment
CHR_10' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(102): Segment CHR_11' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(103): Segment
CHR_12' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(104): Segment CHR_13' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(105): Segment
CHR_14' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(106): Segment CHR_15' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(107): Segment
CHR_16' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(108): Segment CHR_17' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(109): Segment
CHR_18' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(110): Segment CHR_19' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(111): Segment
CHR_1A' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(112): Segment CHR_1B' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(113): Segment
CHR_1C' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(114): Segment CHR_1D' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(115): Segment
CHR_1E' does not exist
ld65.exe: Warning: tools/cc65_config/game.cfg(116): Segment CHR_1F' does not exist ld65.exe: Warning: tools/cc65_config/game.cfg(121): Segment
DMC' does not exist
Unresolved external __STARTUP__' referenced in: temp/main.s(12) Unresolved external
_bank_spr' referenced in:
temp/main.s(20)
Unresolved external _delay' referenced in: temp/fade_animation.s(21) Unresolved external
_errorPalette' referenced in:
temp/error.s(41)
Unresolved external _frameCount' referenced in: temp/player.s(31) temp/map_sprites.s(15) temp/map.s(40) temp/main.s(30) temp/game_text.s(25) Unresolved external
_get_prg_bank' referenced in:
temp/game_text.s(19)
Unresolved external _mainBgPalette' referenced in: temp/map.s(50) Unresolved external
_mainSpritePalette' referenced in:
temp/map.s(51)
Unresolved external _memcpy' referenced in: temp/load_map.s(12) Unresolved external
_music_play' referenced in:
temp/main.s(17)
Unresolved external _music_stop' referenced in: temp/player.s(13) temp/main.s(18) Unresolved external
_oam_clear' referenced in:
temp/title.s(16)
temp/credits.s(21)
Unresolved external _oam_hide_rest' referenced in: temp/main.s(16) temp/error.s(18) Unresolved external
_oam_spr' referenced in:
temp/player.s(12)
temp/map_sprites.s(12)
temp/map.s(32)
temp/game_text.s(13)
Unresolved external _pad_poll' referenced in: temp/player.s(15) temp/input_helpers.s(15) Unresolved external
_pad_trigger' referenced in:
temp/title.s(17)
temp/game_text.s(14)
Unresolved external _pal_bg' referenced in: temp/title.s(12) temp/pause.s(19) temp/map.s(29) temp/game_over.s(16) temp/error.s(12) temp/credits.s(17) Unresolved external
_pal_bright' referenced in:
temp/fade_animation.s(20)
temp/error.s(14)
Unresolved external _pal_spr' referenced in: temp/title.s(13) temp/pause.s(20) temp/map.s(30) temp/game_over.s(17) temp/error.s(13) temp/credits.s(18) Unresolved external
_ppu_off' referenced in:
temp/title.s(14)
temp/pause.s(21)
temp/main.s(14)
temp/game_over.s(18)
temp/error.s(16)
temp/credits.s(19)
Unresolved external _ppu_on_all' referenced in: temp/title.s(15) temp/main.s(15) temp/error.s(17) temp/credits.s(20) Unresolved external
_ppu_on_bg' referenced in:
temp/pause.s(22)
temp/game_over.s(19)
Unresolved external _ppu_wait_frame' referenced in: temp/error.s(15) Unresolved external
_ppu_wait_nmi' referenced in:
temp/map.s(31)
temp/main.s(13)
temp/input_helpers.s(14)
temp/game_text.s(12)
Unresolved external _rand8' referenced in: temp/map_sprites.s(13) Unresolved external
_reset' referenced in:
temp/main.s(22)
Unresolved external _scroll' referenced in: temp/pause.s(23) temp/map.s(33) temp/game_over.s(20) temp/error.s(19) temp/credits.s(22) Unresolved external
_set_chr_bank_0' referenced in:
temp/title.s(20)
temp/pause.s(16)
temp/map.s(13)
temp/game_text.s(20)
temp/game_over.s(14)
temp/error.s(25)
temp/credits.s(15)
Unresolved external _set_chr_bank_1' referenced in: temp/title.s(21) temp/pause.s(17) temp/map.s(14) temp/game_over.s(15) temp/error.s(26) temp/credits.s(16) Unresolved external
_set_mirroring' referenced in:
temp/map.s(15)
Unresolved external _set_nmi_chr_tile_bank' referenced in: temp/game_text.s(21) Unresolved external
_set_prg_bank' referenced in:
temp/error.s(24)
temp/bank_helpers.s(15)
Unresolved external _set_rand' referenced in: temp/main.s(21) Unresolved external
_set_vram_update' referenced in:
temp/text_helpers.s(12)
temp/map.s(36)
temp/hud.s(12)
temp/game_text.s(15)
temp/error.s(20)
temp/credits.s(23)
Unresolved external _sfx_play' referenced in: temp/player.s(14) temp/main.s(19) Unresolved external
_split' referenced in:
temp/map.s(34)
Unresolved external _split_y' referenced in: temp/map.s(35) Unresolved external
_titlePalette' referenced in:
temp/title.s(25)
temp/pause.s(14)
temp/game_over.s(13)
temp/credits.s(14)
Unresolved external _unset_nmi_chr_tile_bank' referenced in: temp/game_text.s(22) Unresolved external
_vram_adr' referenced in:
temp/text_helpers.s(13)
temp/hud.s(13)
Unresolved external _vram_fill' referenced in: temp/text_helpers.s(15) Unresolved external
_vram_put' referenced in:
temp/text_helpers.s(14)
temp/hud.s(14)
temp/error.s(21)
Unresolved external _wait_for_sprite0_hit' referenced in: temp/game_text.s(16) ld65.exe: Error: 43 unresolved external(s) found - cannot create output file make: *** [rom/starter.nes] Error 255
Hello,
This appears it may be a setup issue.
My first suggestion is try running make clean
then make
, being sure you're using cygwin. (Especially if you tried make
with another terminal, like git bash)
If that doesn't do it, here are a few things to verify:
- You downloaded the entire repository - you should have a
source
folder next tosound
,graphics
, and a few others - You have downloaded the tools zip: https://github.com/cppchriscpp/nes-starter-kit/blob/master/guide/section_1/setting_up_your_tools.md#base-tool-zip and extracted it over your
tools
folder - important: The version of cc65 in the tool zip is a bit older, this codebase has not been updated to use the latest cc65 yet - make sure to use the copy in the tool zip file!
- You have not moved, deleted, or changed any
.c
or.asm
or.s
files (until you see it work once) - You are using
make
to run the compilation, not calling ld65/etc manually.
If none of that solves it, feel free to reach back out. Please let me know as much as you can about your environment, namely:
- What OS you're on
- What terminal you are using to run make
- the output of these commands:
ls -lah (root of the checked out repository)
ls -lahr (root of checked out repository)/source
ls -lah (root of checked out repository)/tools
- The full output of
make clean
followed bymake
. Please wrap the output with triple backticks for readability (```)
I hope something in that helps! To note I am working on replacing the cygwin setup, as this is very clunky and prone to errors.
Thanks It Works
Thank you for confirming!