Página 1 de 1
Multiple definition
Enviado: 18 Dez 2020 18:39
por JoséQuintas
d:/harbour/lib/win/mingw\libhbct.a(ctwfunc.o):(.text+0x410): multiple definition of `HB_FUN_WOPEN'
d:/harbour/addons/josequintas/lib/win/mingw\liblibjpa.a(ze_savescreen.o):(.text+0xc0): first defined
Tudo bem, sei exatamente ao que se refere a mensagem, minha função tem o mesmo nome da que existe em hbct.
O problema é.....
1990.05 - José Quintas
É o aplicativo que sempre posto aqui, a função tá lá há mais de 30 anos, e sempre compilei normalmente, até minutos atrás.
Complicou....
Multiple definition
Enviado: 18 Dez 2020 19:07
por Jairo Maia
José, tente o seguinte:
Na pasta que está o projeto que você está compilando, terá uma pasta chamada ".hbmk". Exclua essa pasta e compile novamente. Pode ser que resolva.
PS: Se você não ver essa pasta, habilite no Windows explorer "visualizar pastas ocultas", ou "visualizar pastas de sistema" (não lembro direito como está lá, mas é algo assim).
Multiple definition
Enviado: 18 Dez 2020 22:50
por JoséQuintas
Jairo Maia escreveu:Na pasta que está o projeto que você está compilando, terá uma pasta chamada ".hbmk". Exclua essa pasta e compile novamente. Pode ser que resolva.
O que mencionou é válido, mas já faz parte da minha compilação.
Uso uma pasta temporária, e meu "pré-build" faz limpeza sempre que troco de projeto.
O que fiz de diferente nestes dias foi gerar novamente o Harbour com mingw 7.3, até mencionei aqui, porque o 10.2 não estava mais gerando.
Mas também é outra operação que já fiz várias vezes.
Vamos raciocinar:
O erro é porque já existe na lib hbct DO HARBOUR.
Poderíamos dizer que o erro é porque essa lib entrou na linquedição
Sempre usei outras rotinas dessa lib, por exemplo pros gráficos do rmchart, e pra sefazclass também.
Então a lib sempre entrou parcial.
E aí que fica confuso... se a lib sempre entrou parcial, porque agora ela tá entrando total?
E pra complicar... sempre uso a lib do mesmo jeito, não está fazendo sentido.
A única coisa que fazemos é indicar a lib, e nada mais.
Multiple definition
Enviado: 19 Dez 2020 01:33
por JoséQuintas
Lembrava de alguma coisa sobre separar a lib, até encontrei no hbmk2 a opção -nolibgrouping, mas não resolveu.
Também pensei no hbct.hbx, ou de DLLs e o Harbour forçar o uso, mas não encontrei nada.
Acabei removendo ctwfunc.c da geração de hbct, é nela que tem wopen.
Sinceramente, não lembro de alterar da outra vez, mas lembro de ter pesquisado sobre isso, então algum motivo teve pra eu ter pesquisado.
Multiple definition
Enviado: 19 Dez 2020 19:51
por JoséQuintas
Ok, acabei comparando os fontes com um backup antigo, e eu realmente tinha alterado isso antes nos fontes do Harbour.
Ao recriar o fork, fiquei sem a alteração.
Faz tanto tempo que fiz a alteração, que não lembrava mais, foi do mesmo jeito, removendo o fonte do HBP do Harbour.