{"id":390,"date":"2016-08-25T15:51:28","date_gmt":"2016-08-25T18:51:28","guid":{"rendered":"http:\/\/www.pascalscada.com\/?p=390"},"modified":"2016-08-27T14:08:48","modified_gmt":"2016-08-27T17:08:48","slug":"fpc-shared-library-arm-hf-workaround","status":"publish","type":"post","link":"https:\/\/www.pascalscada.com\/pb\/2016\/08\/25\/fpc-shared-library-arm-hf-workaround\/","title":{"rendered":"FPC + shared library + ARM HF: Contornando"},"content":{"rendered":"J\u00e1 faz dois anos, quando desenvolvia um projeto para rodar numa Raspberry Pi, e que para meu desgosto, encontrei um bug quando o FreePascal \u00e9 usado para desenvolver bibliotecas compartilhadas (DLL) quando o alvo do compilador \u00e9 armhf-linux. Gerar execut\u00e1veis para este alvo n\u00e3o \u00e9 problema, apenas bibliotecas compartilhadas, tanto \u00e9 que se o aplicativo tentar carregar uma biblioteca gerada em C\/C++ funciona perfeitamente.<\/p>\n<p>Acompanhando as notas adicionadas ao relato do bug, Jonas Maebe sugeriu adicionar a unit initc na <strong>uses<\/strong> da biblioteca. Fiz alguns testes, e para minha surpresa, este contorno funcionou como uma luva. A pena \u00e9 que desativei o projeto por descobrir isso muito tarde \ud83d\ude10<\/p>\n<p>Ent\u00e3o ontem fui notificado que o desenvolvimento do Debian adicionou um patch que diz corrigir isso, porem n\u00e3o consegui baixar uma imagem ainda para testar o patch. De qualquer forma acho que para a pr\u00f3xima vers\u00e3o do Freepascal (3.0.2, prevista para outubro) teremos isso corrigido.<\/p>\n<p>Voc\u00ea pode ver mais detalhes aqui: <a href=\"http:\/\/bugs.freepascal.org\/view.php?id=26454\" target=\"_blank\">http:\/\/bugs.freepascal.org\/view.php?id=26454<\/a>","protected":false},"excerpt":{"rendered":"<p>J\u00e1 faz dois anos, quando desenvolvia um projeto para rodar numa Raspberry Pi, e que para meu desgosto, encontrei um bug quando o FreePascal \u00e9 usado para desenvolver bibliotecas compartilhadas &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-390","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/posts\/390","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/comments?post=390"}],"version-history":[{"count":4,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/posts\/390\/revisions"}],"predecessor-version":[{"id":396,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/posts\/390\/revisions\/396"}],"wp:attachment":[{"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/media?parent=390"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/categories?post=390"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pascalscada.com\/pb\/wp-json\/wp\/v2\/tags?post=390"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}